salary=0salaryArray=[]loop=0noYears=int(input("How many years do you want to do salaries for? "))for i in range(0,noYears): while loop==0: print() print("You can add multiple sources of income, one at a time") salaryType=input("Do you want to put in your salary hourly or yearly? (h/y) ") if salaryType=="y": salarySection=float(input("What is your salary? ")) salary=salarySection+salary else: salaryHourly=float(input("What are you payed per hour? ")) salaryWeekly=float(input("How many hours per week will you work? ")) salaryYearly=float(input("How many weeks per year will you work? ")) print() salarySection=salaryHourly*salaryWeekly*salaryYearly salary=salary+salarySection repeat=input("Do you wish to add another source of income? (y/n) ") if repeat=="n": print("This year's anual salary is", salary) salaryArray.append(salary) loop=1由于某種原因for i in range(0,noYears)不起作用?它只是在完成一次后繼續執行下一行代碼 - 即使我將 noYears 的答案設置為 3。任何人都知道為什么會這樣,因為我看不出出了什么問題?:)
1 回答

子衿沉夜
TA貢獻1828條經驗 獲得超3個贊
該代碼不起作用,因為 while 循環從未執行。你可以通過兩種方式解決這個問題。
使用break語句而不是將loop設置為1:
#previous code
repeat=input("Do you wish to add another source of income? (y/n) ")
if repeat=="n":
print("This year's anual salary is", salary)
salaryArray.append(salary)
break
在 for 循環內將變量循環重置為 0:
for i in range(0,noYears):
loop = 0
while loop==0:
# remaining code
添加回答
舉報
0/150
提交
取消