python第五章实操作业
1.定义一个函数实现反响输出一个整数。比如:输入3245,输出5432.
代码:
str_num = input("请输入一个整数:")
f = lambda n:print(n[::-1])
f(str_num)
结果:
请输入一个整数:1234
4321
2.编写一个函数,计算下面的数列:
代码:
def compute_list(n):
sum = 0
for i in range(1,n+1):
sum += i/(i+1)
print(sum)
num = int(input("请输入一个整数:"))
compute_list(num)
结果:
请输入一个整数:6
4.4071428571428575
3.输入三角形三个顶点的坐标,若有效则计算三角形的面积;如坐标无效,则给出提示。
代码
import math
def dis(a,b):
'''计算两个点之间的距离'''
return math.sqrt((a[0]-b[0])**2+(a[1]-b[1])**2)
def judge(a,b,c):
'''判断前两边之和是否大于第三边'''
if dis(a,b)+dis(a,c)>dis(b,c):
return True
else:
return False
a = []
while len(a)<3:
b = []
point = input("请输入point{0}中x,y的值,用,分开:".format(len(a)+1))
point_array = point.split(",")
point_x, point_y = float(point_array[0]),float(point_array[1])
b.append(point_x)
b.append(point_y)
a.append(b)
else:
if judge(a[0],a[1],a[2]) and judge(a[0],a[2],a[1]) and judge(a[1],a[2],a[0]):
print("三角形面积为{0}".format((a[0][0]*a[1][1]+a[1][0]*a[2][1]+a[2][0]*a[0][1]-a[0][0]*a[2][1]-a[1][0]*a[0][1]-a[2][0]*a[1][1])/2))
else:
print("输入的三个点({0},{1});({2},{3});({4},{5})无法构成三角形".format(a[0][0], a[0][1], a[1][0], a[1][1], a[2][0], a[2][1]))
结果1
请输入point1中x,y的值,用,分开:1,2
请输入point2中x,y的值,用,分开:1,1
请输入point3中x,y的值,用,分开:3,1
三角形面积为1.0
结果2
请输入point1中x,y的值,用,分开:1,2
请输入point2中x,y的值,用,分开:2,3
请输入point3中x,y的值,用,分开:3,4
输入的三个点(1.0,2.0);(2.0,3.0);(3.0,4.0)无法构成三角形
4.输入一个毫秒数,将该数字换算成小时数,分钟数、秒数。
代码:
while True:
t = float(input("请输入一个毫秒数:"))
if t<0:
print("输入的值为{0},违规请重新输入:".format(t))
continue
else:
break
print("={0}小时".format(t/3600000))
print("={0}分钟".format(t/60000))
print("={0}秒".format(t/1000))
结果
请输入一个毫秒数:78965215489523366666
=21934782080423.156小时
=1316086924825389.5分钟
=7.896521548952336e+16秒
5.使用海龟绘图。输入多个点,将这些点都两两相连。
代码:
import turtle as t
t.width(5)
a = []
while True:
str_point=input("请输入一个点,用,隔开(结束输入Q或者q):")
if str_point.lower() == 'q':
break
else:
array_point = str_point.split(",")
x, y = float(array_point[0]), float(array_point[1])
a.append(x)
a.append(y)
for i in range(len(a)//2):
for j in range(i+1,len(a)//2):
t.color("black")
t.penup()
t.goto(a[2*i],a[2*i+1])
t.pendown()
t.goto(a[2*j], a[2*j+1])
t.done()
结果:
请输入一个点,用,隔开(结束输入Q或者q):-50,60
请输入一个点,用,隔开(结束输入Q或者q):-50,200
请输入一个点,用,隔开(结束输入Q或者q):100,60
请输入一个点,用,隔开(结束输入Q或者q):q
今天的文章python第五章课后编程题_python比较两个列表「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/88183.html