求python语言编程过程谢谢
2个回答
展开全部
def getThickness(iOrigThickness, iFoldCount):
multiple = 1
for i in range(iFoldCount):
multiple *= 2
return "%.6f" % float(iOrigThickness * multiple)
times = input("Input folding times: ")
try:
times = int(times)
except:
print "Invalid input! A positive integer is required."
else:
print getThickness(1/float(20000), times)
For python 2。
更多追问追答
追问
能给个解释么
追答
#-*- coding:utf-8 -*-
def getThickness(iOrigThickness, iFoldCount):
''' 通过原厚度与折叠次数,得到折叠后的厚度(单位:米)'''
multiple = 1
for i in range(iFoldCount):
multiple *= 2 #每折叠一次,厚度乘以2
return "%.6f" % float(iOrigThickness * multiple)
try:
times = input("Input folding times: ") #要求用户输入折叠次数
times = int(times) #字符串转换为整数类型
except:
# 处理非法输入
print "Invalid input! A nonnegative integer is required."
else:
print u"折叠后的厚度为:" + getThickness(1/float(20000), times) + u" 米"
python的除法比较特殊,整数与整数相除得到的也是整数,会损失精度,因此要用float将其中一个操作数转换为浮点数再计算。所以,这里用的是 1/float(20000)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询