gpt4 book ai didi

python - 函数只返回列表的第一个输入而不继续输入超出范围

转载 作者:行者123 更新时间:2023-12-04 08:40:10 28 4
gpt4 key购买 nike

我对编码真的很陌生(大约 3 周后),我正在编写一个代码,要求用户输入 0 到 100 之间的数字,然后将该数字添加到列表中。一旦列表达到 10 个数字的长度,它应该打印列表。我正在为此使用一个函数。
我可以得到它所以它打印一个列表,但它只打印输入的第一个数字。例如,如果我输入 5,它仍然会询问其他数字,但它会将列表打印为 [5, 5, 5, 5, 5, 5, 5, 5, 5, 5]。此外,如果我输入 0-100 范围之外的数字,它会要求您输入不同的数字,但随后它会停止并将列表打印为“无”。
下面是我的代码:

def getUser(n):
mylist = []
while 0 < n < 100:
mylist.append(n)
int(input("Please enter a number between 0 and 100: "))
if len(mylist) == 10:
return(mylist)
else:
int(input("This number is not in the range of 0-100, please input a different number: "))


n = int(input("Please enter a number between 0 and 100: "))
print("The numbers you have entered are: ", getUser(n))
我猜它与 while/else 循环有关,但正如我所说的,我对此很陌生,这一切都让人感到不知所措,而试图在 google 上搜索这似乎只会带来我不明白的 super 复杂的事情! !谢谢

最佳答案

第一:为什么你得到 [5, 5, 5, 5, 5, 5, 5, 5, 5, 5] :

int(input("Please enter a number between 0 and 100: "))
你应该先把它给 n :
n=int(input("Please enter a number between 0 and 100: "))
然后,它退出循环,因为您进入 else ,然后你就不会回到 while .然后你的函数结束了,没有 return , 所以 none老实说,我不明白为什么你的代码会从 while 中消失。如果给出超出范围的数字,则循环,因为该值未提供给 n。如果有人可以在评论中解释,那就太好了!
我会这样做:
def getUser():
mylist = []
while len(mylist) < 10:
n = int(input("Please enter a number between 0 and 100: "))

if (0 < n < 100):
mylist.append(n)
else:
print('This is not between 0 and 100 !')

return mylist


print("The numbers you have entered are: ", getUser())
然后你会被问到从 0 到 100(不包括)的数字,直到你得到 10 的大小。

关于python - 函数只返回列表的第一个输入而不继续输入超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64608904/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com