簡體   English   中英

Python程序反復執行無限循環異常

[英]Python program repeatedly executes infinite loop abnormally

我設計了一個輸入
python程序基於7天內每天的存款總和
我希望執行結果是:

Please enter the deposit on day 1: 40
Please enter the deposit on day 2: 70
Please enter the deposit on day 3: 89
Please enter the 4th day deposit: 489
Please enter the 5th day deposit: 39
Please enter the deposit on day 6: 48
Please enter the 7th day deposit: 99
   Total deposit: 874 dollar

但是我的 python 程序的問題是
從第一天入金到第七天入金后循環
無法順利加起來,但從入金第一天起重新開始循環
在無限循環中
我的代碼:

sum1=0
mes=list()
while True:
   for mes in range(1,8):
      mey=int(input(f"Please enter the deposit on day {mes}:"))
      if mes==7:
       break
       mes.append(mey)
       sum1+=mey
print("Total Deposit",str(mes),"dollar")

以下是我可以看到的一些問題:

  • 您正在for循環中重新聲明mes變量; 使用另一個變量名
  • while循環是不必要的
  • break是不必要的,因為for循環將在mes <= 7時執行(在這種情況下, break將退出for循環,而不是while循環)
  • 你應該在最后打印sum1變量; str() function 是不必要的

如果我們解決上述代碼問題,您的新代碼應該如下所示。

sum1=0
mes=list()
for i in range(1,8):
    mey=int(input(f"Please enter the deposit on day {mes}:"))
    mes.append(mey)
    sum1+=mey
print("Total Deposit is",sum1,"dollar")
total = 0
mes = []

for i in range(1,8):
    m = int(input(f"Please enter the deposit on day {i}: "))
    mes.append(m)
    total += m

print(f"Total Deposit {total} dollar.")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM