def errorCheck(daySales):
while True:
try:
daySales = float(daySales)
except ValueError:
print('Please only enter a number - for example: 7')
print('Try again!')
except Exception as err:
print('Unknown error - please contact the programmer!')
print(type(err))
return(float(daySales))
counter=0
day = ['Monday','Tuesday','Wednesday','Thursday',
'Friday','Saturday','Sunday']
daySales=()
sales=[]
totalsales=[]
for i in range(len(day)):
print('Enter sales for ' + day[i] + ': ', end="")
daySales = input()
errorCheck(daySales)
sales = sales + [float(daySales)]
for i in range(len(day)):
print('\nYour sales for ' + day[i] + ' were: $', sales[i], end="")
print('\nWhich equates to a weekly sales total of: $' ,end="")
sumOfList = sum(sales)
print(sumOfList)
如果用户输入数字,该脚本完全符合我的要求,但是如果发生异常,它会捕获它,但会继续执行下一步。例如,如果我为星期一的销售输入“foobar”,脚本会告诉我只输入一个数字,然后转到下一个输入,即星期二。 我怎样才能使我的循环留在'一天',直到用户输入一个有效的号码?Python3错误处理循环
你有一个'while'循环,但是无论输入/异常,你都在做'return'。如果没有异常,你只想“返回”。你也希望得到循环中的'input()'。否则,用户将如何输入另一个值? –