Python 2.7。我是Python的新手,但在True循环中仍然坚持使用。简单的程序来计算薪水。当“标准”作为字母输入时,它会捕获错误并再次跳至“输入您的价格”行。我希望仅在捕获到错误的地方重复此操作,而不是再次开始重新输入所有信息。有人可以帮忙吗?
while True:
try:
rate = float(raw_input("Enter your rate: "))
error = float(rate)
standard = float(raw_input("Enter total standard hours 100%: "))
error = float(standart)
except:
print 'Not a number'
continue
else:
sum = standard * rate
print sum
先感谢您。
最佳答案
while True:
try:
rate = float(raw_input("Enter your rate: "))
standard = float(raw_input("Enter total standard hours 100%: "))
except ValueError:
print 'Not a number'
else:
sum = standard * rate
print sum
break
您需要在最后添加一个休息时间。另外,当您已经尝试在输入步骤中进行类型转换时,无需编写
error = float(..)
。另外,在
error = float(standart)
行中有一个错字。这将导致它永远给出异常。另一个好的做法是指定您期望的错误类型(ValueError)。这将有助于防止输入错误。
关于python - 我被困在True循环中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51114259/