如何解决如何在while循环中使用range()?
我需要创建一个空列表 询问用户任何输入 5 次 仅在不存在的情况下将输入添加到列表中
我不断进入无限循环,而不是只有 5 次。
这是我的代码:
MyList = []
maxLengthList = range(5)
while len(MyList) < maxLengthList:
i = input("Enter a number to the list: ")
if i not in MyList:
MyList.append(i)
print("That's your numbers list")
print(MyList)
解决方法
范围的正确用法是:
for x in range(start,end):
print(x)
所以你的情况是:
# Using underscore here since you do not need the value for each loop
for _ in range(5):
i = input("Enter a number to the list: ")
if i not in MyList:
MyList.append(i)
但是,您可以将 maxLengthList 设置为 5 而不是 range(5)
,您已将 range() 函数用作最大长度的常量,这是不可能的 range(5) = range(0,5) 它没有给你一个常数来使用 您不能将 len(MyList) 与 maxlengthlist 进行比较 类型(Mylist)= int 类型(MaxLengthlist) = 范围类
,在 Python 中,range 是一个类似于生成器的不可变的可迭代对象。当您说 range(5) 时,它会生成从 0 到 4 的数字。您使用 for_loop 来迭代一个范围,而不是 while_loop。
就您的目的而言,您根本不需要范围。没有它,您的代码也能完美运行。
MyList = []
maxLengthList = 5
while len(MyList) < maxLengthList:
i = input("Enter a number to the list: ")
if i not in MyList:
MyList.append(i)
print("That's your numbers list")
print(MyList)
,
尝试了解 for
循环。您可以像这样使用它们:for _ in range(5):
。将它们用于可下标格式。更多信息here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。