第五章作业

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

str_num = input("请输入一个整数:")
f = lambda n:print(n[::-1])
f(str_num)

 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)

 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]))
 

 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))
 

 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()

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值