如果數字之前不在串列中,我想將“輸入數字”附加到“list_of_already_entered_numbers”。因此,您不能兩次說出相同的數字。我添加了“列印”以顯示串列仍然是空的?即使“追加”應該在每次迭代期間將數字添加到串列中。別介意 10 次迭代。那么如何將數字附加到串列中,以便每次迭代更新串列?
def ask_number():
a = 0
while a < 10:
list_of_already_entered_numbers = []
print("this is the list: " str(list_of_already_entered_numbers))
number = int(input("Type a number:"))
if number in list_of_already_entered_numbers:
print("the number is already in the list")
else:
list_of_already_entered_numbers.append(number)
a =1
ask_number()
uj5u.com熱心網友回復:
像這樣在回圈之外宣告串列:
def ask_number():
a = 0
list_of_already_entered_numbers = []
while a < 10:
print("this is the list: " str(list_of_already_entered_numbers))
number = int(input("Type a number:"))
if number in list_of_already_entered_numbers:
print("the number is already in the list")
else:
list_of_already_entered_numbers.append(number)
a =1
ask_number()
uj5u.com熱心網友回復:
您可以嘗試僅將詢問部分分解為它自己的函式。這樣可以更輕松地自行嘗試,并確保您獲得預期的結果:
from typing import List
def enter_number(previous_numbers: List[int]) -> List[int]:
print("These numbers have been guessed: {previous_numbers}" str(list_of_already_entered_numbers))
number = int(input("Type a number:"))
if number in previous_numbers:
print("That number has already been entered")
else:
previous_numbers.append(number)
return previous_numbers
def ask():
previous_numbers = []
for _ in range(10):
previous_numbers = enter_number(previous_numbers)
ask()
通過這種方式,您可以封裝起始狀態,并可以確保每次迭代都按照您的預期進行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/373037.html
上一篇:每次迭代更新串列
