微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在while循环中使用range()?

如何解决如何在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 举报,一经查实,本站将立刻删除。