我怎樣才能更新一個變數,使程式不會每次都列印相同的數字。例如,如果我寫的是smart,那么程式將列印剩下的37個字母,但如果我寫一個新的形容詞,它仍然會列印出我有37個字母剩下。
letter = 42。
if letter >= 42:
print("You have", letter, " letters left")
adj = input("用一個形容詞描述自己")
adjletter = len(adj)
letterleft = letter-adjletter
while letterleft > 0:
print("You have", letter-adjletter, "letter left")
adj2 = input("用形容詞描述自己")
if letter < 0:
break break
print(" Thanks for now!")
uj5u.com熱心網友回復:
你的代碼中已經有了它,在回圈之外。請注意,你的代碼段中有一些多余的代碼。
letter = 42。
while letter > 0:
print(f "You have {letter} letters left")
adj = input("用一個形容詞來描述自己:")
letter -= len(adj.strip(()) # add strip to remove any whitespace[/span].
print("thanks for now!")
uj5u.com熱心網友回復:
已經更新了你的部分代碼,請參考下面的代碼,它給出了所需的結果:
letter = 42。
if letter >= 42:
print("You have", letter, "letter left")
letterleft = letter
while letterleft > 0:
adj = input("用一個形容詞來描述自己:")
letterleft = letterleft-len(adj)
print("You have", letterleft, "字母左邊")
print("thanks for now!")
輸出:
你還有42個字母。
用形容你自己一個形容詞: smart
你還有37個字母。
描述你自己 用一個形容詞:聰明
你還有32個字母。
描述你自己 用一個形容詞:聰明
你還有27個字母。
描述你自己 用一個形容詞。
你在迭代letterleft,然而從未更新,因此將得到一個無限回圈。此外,如果輸入是adjletter,那么adjletter將總是5,因此你的print陳述句總是列印37(42-5)的字母左。相反,print陳述句應該列印letterleft
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/329623.html
標籤:
上一篇:類模板中的多個可選成員,沒有開銷
