IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 第5章 函数作业 -> 正文阅读

[数据结构与算法]第5章 函数作业

1. 定义一个函数实现反向输出一个整数。比如:输入 2345,输出 5432.

def InverseNumber(a):
   return int((a[::-1]))
print(InverseNumber('2345'))

def NumAcc(m,n):
   '''计算n/n+1的递减数列'''
   if n == 1 and m == 2:
      print('计算顺序为{0}/{1}'.format(n, m))
      return 1/2
   else:
      print('计算顺序为{0}/{1}'.format(n, m))
      return n/m+NumAcc(m-1,n-1)
n = int(input('请输入数列最后一项的分子'))
m = n+1
print('计算结果为{0}'.format(NumAcc(m,n)))

?运行结果为:

计算顺序为5/6
计算顺序为4/5
计算顺序为3/4
计算顺序为2/3
计算顺序为1/2
计算结果为3.5500000000000003

3. 输入三角形三个顶点的坐标,若有效则计算三角形的面积;如坐标无效,则给出提示。

import math
def TriArea():
   '''计算三角形面积'''
   lc = list(range(6))
   while True:
      for n in range(6):
            if n % 2 == 0:
               lc[n] = int(input('请输入横坐标'))
            else:
               lc[n] = int(input('请输入纵坐标'))

      if (lc[0] == lc[2] and lc[1] == lc[3] ) or (lc[0] == lc[4] and lc[1] == lc[5]) or (lc[2] == lc[4] and lc[3] == lc[5]) \
              or math.fabs((lc[4]-lc[2])/(lc[5]-lc[3])) == math.fabs((lc[4]-lc[0])/(lc[5]-lc[1])):
         print('输入错误错误请重新输入')
         continue
      else:
         break
   return 0.5*(lc[0]*lc[3]-lc[0]*lc[5]+lc[2]*lc[5]-lc[2]*lc[1]+lc[4]*lc[1]-lc[2]*lc[3])# S=(x1y2-x1y3+x2y3-x2y1+x3y1-x2y2)
print('三角形面积为{0}'.format(TriArea()))

运算结果为:

请输入横坐标0
请输入纵坐标0
请输入横坐标3
请输入纵坐标0
请输入横坐标0
请输入纵坐标4
三角形面积为6.0

4. 输入一个毫秒数,将该数字换算成小时数,分钟数、秒数。

def TimeTransform(m):
   Seconds = m / 1000
   Minutes = Seconds / 60
   Hours = Minutes / 60
   print('输入为{0}ms,{0}ms={1:.3f}s={2:.3f}min={3:.5f}hour'.format(m,Seconds,Minutes,Hours))
TimeTransform(int(input('请输入一个毫秒的时间')))

运行效果如下:

请输入一个毫秒的时间1000
输入为1000ms,1000ms=1.000s=0.017min=0.00028hour

5. 使用海龟绘图。输入多个点,将这些点都两两相连。

import turtle
def ConnectPoints(n):
   pr = list(range(n))
   pl = list(range(n))
   for i in range(n):
      pr[i] = int(input('请输入横坐标'))
      pl[i] = int(input('请输入纵坐标'))
   t = turtle.Pen()
   for l in range(len(pr)):
      t.penup()
      t.goto(pr[l], pl[l])
      t.pendown()
      t.write('{0},{1}'.format(pr[l],pl[l]))
      for m in range(l,len(pr)):
         t.goto(pr[m], pl[m])
         t.goto(pr[l], pl[l])
         t.pendown()
   turtle.done()
m = input('请输入要绘制的点数')
ConnectPoints(int(m))

输入为:

请输入要绘制的点数5
请输入横坐标0
请输入纵坐标100
请输入横坐标100
请输入纵坐标0
请输入横坐标80
请输入纵坐标-80
请输入横坐标-80
请输入纵坐标-80
请输入横坐标-100
请输入纵坐标0

绘制的图形为:

?

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:51:59  更:2022-02-01 20:54:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:39:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码