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()'。否則,用戶將如何輸入另一個值? –