python 简单计算练习题(2)

8.一个球从100m高度落下,每次落地反弹回原高度的一半,再落下,求第10次落地时共经过多少米?第10次反弹多高?

list = []

h = 100

h_sum = 100

for i in range(1,11):#从100m落下是第一次,第一次反弹是50m

h_sum += h

h /= 2

list.append(h)

print (list)

print (h)

print (h_sum)

print(sum(list)*2+100) #每次反弹高度走两遍加上初始100

这里一种是把每次反弹高度加入到列表

一种是直接最后使用变量求和

输出结果

接下来是上次题目中 的优化,优化1:减少一个print

print("一共%d个整数排序结果如下:\n %s"%(len(num_list),num_list)) #两个print合并

第3题的数字排序解决字符转化报错优化,

改为先判断字符内容再转换

使用try…except遇错不执行

增加重新输入数字继续排序

num_list = []

i =1

while True:

inmsg = input("请输入第%d个整数,输入p结束输入开始排序:" %i)

try:

if inmsg == "p" or inmsg == "P":

num_list.sort()

print("一共%d个整数排序结果如下:\n %s"%(len(num_list),num_list)) #两个print合并

resatrt = input("继续加入数字输入Y|重新开始输入N:" )

if resatrt =="Y"or resatrt =="y":

continue

elif resatrt =="N"or resatrt =="n":

i = 1

num_list.clear()

else:

break

elif type(float(inmsg))== float or type(int(inmsg))== int():

i += 1

inmsg = eval(inmsg)

num_list.append(inmsg)

except:

print("输入不合法,请输入数字")

输出结果

请输入第1个整数,输入p结束输入开始排序:1

请输入第2个整数,输入p结束输入开始排序:e

输入不合法,请输入数字

请输入第2个整数,输入p结束输入开始排序:23.0

请输入第3个整数,输入p结束输入开始排序:8.9

请输入第4个整数,输入p结束输入开始排序:-9.87

请输入第5个整数,输入p结束输入开始排序:p

一共4个整数排序结果如下:

[-9.87, 1, 8.9, 23.0]

继续加入数字输入Y|重新开始输入N:n

请输入第1个整数,输入p结束输入开始排序:d

输入不合法,请输入数字

请输入第1个整数,输入p结束输入开始排序:p

一共0个整数排序结果如下:

[]

继续加入数字输入Y|重新开始输入N:k

未完待续

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190220G1446I00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券