所以我用Python写了一个电动比尔计算器。好消息是它起作用了!然而,我需要使它更好地工作。当被问到每天有多少小时时,用户可以输入25个小时,或者输入他们想要的任何其他数字。很明显一天不会有25个小时。我试过几件事,但我不能让它正常工作。
我试过这样的方法:
hours = input("How many hours per day? ")
if hours > 24:
print("Don't be silly, theres not more than 24 hours in a day ")
else:
main()我要做的是,让程序显示一个错误信息,如果输入超过24小时,如果输入超过24小时,那么跳到下面的代码,询问他们是否想尝试另一种计算。如果他们进入24小时或更短的时间,然后继续程序,没有错误信息。我花了大约两天的时间来修复这个问题,在谷歌搜索了几个小时,我可能已经找到了正确的答案,但似乎无法让它发挥作用。我想我需要一些时间真实的陈述,或者如果;那么,但是,尽管我已经试过很多次,我在这一点上还是在拔出我的头发。整个程序的代码如下:
def main():
star = '*' * 70
print star
print ("Nick's Electric Bill Calculator")
print star
watts = input("Enter the watts of appliance, or total watts of appliances ")
hours = input("Enter the number of hours that appliance(s) run per day ")
cost = input("Enter the cost in cents per KwH you pay for electricty " )
# print ("Don't be silly, there isn't more than 24 hours in a day!")
x = (watts * hours / 1000.0 * 30) * cost
total = x
print star
print ("""If you use %s watts of electricity for %s hours per day, at a cost of
%s cents per Kilo-watt hour, you will add $%s to your monthly
electric bill""") % (watts, hours, cost, total)
print star
playagain = 'yes'
while playagain == 'yes':
main()
print('Would you like to do another Calculation? (yes or no)')
playagain = raw_input()我刚开始编程,我只学了几个星期的Python,非常感谢你的建议。
发布于 2016-08-04 21:46:01
我将您的错误消息放在if状态中,计算代码放在其他状态中。这样,当时间不正确时,它就不会进行计算,而是退出main,回到while循环,询问用户是否愿意再次播放。另外,正如其他用户所指出的,按照我下面所做的,您应该添加更多的错误测试和负数信息,等等。
def main():
star = '*' * 70
print star
print ("Nick's Electric Bill Calculator")
print star
watts = input("Enter the watts of appliance, or total watts of appliances ")
hours = input("Enter the number of hours that appliance(s) run per day ")
cost = input("Enter the cost in cents per KwH you pay for electricty " )
if hours > 24:
print("Don't be silly, theres not more than 24 hours in a day ")
else:
x = (watts * hours / 1000.0 * 30) * cost
total = x
print star
print ("""If you use %s watts of electricity for %s hours per day, at a cost of %s cents per Kilo-watt hour, you will add $%s to your monthly electric bill""") % (watts, hours, cost, total)
print star
playagain = 'yes'
while playagain == 'yes':
main()
print('Would you like to do another Calculation? (yes or no)')
playagain = raw_input()https://stackoverflow.com/questions/38777883
复制相似问题