我需要返回用户输入的数字列表。
我试图插入一个空列表,然后使用.append
函数将输入值附加到列表中。
def ask_a_number():
trials = []
playernumber = int(input('Guess a number: '))
trials = trials.append(playernumber)
return playernumber, trials
ask_a_number()
让我说我想输入5。
因此,我希望函数返回5以及列表trials = [5]
。
下次输入10时,该函数应返回trials = [5,10]
。
答案 0 :(得分:1)
更改
trials = trials.append(playernumber)
到
trials.append(playernumber)
由于list.append
返回None
(相反,它更改了trials
的状态),并且您将其返回值重新分配给trials
,因此您得到了None
返回元组。
答案 1 :(得分:1)
def ask_a_number():
trials = []
while True:
playernumber = int(input('Guess a number: '))
trials.append(playernumber)
if playernumber==0:
break
print(playernumber, trials)
return
ask_a_number()
答案 2 :(得分:0)
append()
不返回任何内容。它旨在进行就地修改。因此,请执行以下操作:
def ask_a_number(trials=None):
trials = trials or []
playernumber = int(input('Guess a number: '))
trials.append(playernumber)
return playernumber, trials
ask_a_number()
我还为trials
添加了默认值,因此,如果您想循环执行此操作,可以这样:
trials = []
for i in range(6):
player, trials = ask_a_number(trials)