所以我一直试图在一个循环中返回所有输入,但是由于某种原因,这是行不通的,它只返回最后一个输入。
很高兴看到您在协助我。
def boogiewoogie(lineinfile,speechpart):
y = lineinfile.count(speechpart)
for i in range(y):
askuser = input('Enter '+speechpart+': ')
return askuser
实际结果:-
> boogiewoogie('The NOUN VERB past the ADJECTIVE NOUN.','NOUN')
> Enter NOUN: dog
> Enter NOUN: duck
> 'duck'
答案 0 :(得分:1)
您在循环的每一轮都在写askuser
。尝试将所有值存储在列表中:
def boogiewoogie(lineinfile,speechpart):
y = lineinfile.count(speechpart)
askuser = []
for i in range(y):
askuser.append(input('Enter '+speechpart+': '))
return askuser
答案 1 :(得分:0)
您只返回最后一个,所以一切正常。您应该拥有列表,将数据追加到列表中,然后返回该列表,例如:
def boogiewoogie(lineinfile, speechpart):
y = lineinfile.count(speechpart)
history = []
for i in range(y):
history.append(input('Enter '+speechpart+': '))
return history
会产生预期的结果:
Enter NOUN: dog
Enter NOUN: food
['dog', 'food']
出于可读性原因,我还将放弃使用format()
的连接:
history.append(input('Enter {}: '.format(speechpart)))
答案 2 :(得分:0)
由于没有存储值的数组或方法,因此将删除先前的值。创建一个空数组,然后将其附加到for循环中。
List = []
for i in range(y):
askuser = input('Enter '+speechpart+': ')
List.append(askusr)
print List