python - 我在使用 "in range"显示 Python 列表时遇到问题

标签 python list

这是我的第一个问题,所以如果我做错了什么,请告诉我,以便我下次可以更正和/或正确做。

我试图让用户输入十个数字,然后按照他们给的相反顺序将它们吐出来。不过,我无法获得正确的范围,因为它一直要求我只输入 9 个数字,或者它没有为我列表中的最后一个变量分配任何内容。

我正在使用 Python 3.x。

这是我的代码:

#Creating my list
myNumbers=[1,2,3,4,5,6,7,8,9,10,11]

#Creating a for loop for inputs
for A in range (1,10):
    myNumbers[A]=input("Enter a number: ")


#Creating a for loop for outputs
for B in range (10,1,-1):
    print(myNumbers[B])

它只允许我输入 9 个数字,然后我的输出是数字 11,然后是我的反向输入。

如有任何帮助,我们将不胜感激。

最佳答案

range 始终省略最后一个值,默认情况下从 0 开始(请记住,列表在 Python 中以 0 为索引,因此 10 元素列表的索引为 0 到 9)。

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

此外,我建议不要使用 range(10,1,-1),而是使用 reversed:

for i in reversed(range(10)): # iterates from 9 down to 0

或者,因为您只是打印出列表中的项目,所以只需直接遍历反向列表项目:

for item in reversed(myNumbers):
    print(item)

关于python - 我在使用 "in range"显示 Python 列表时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15149089/

相关文章:

c# - 如何在 C# 中创建和管理类似 2D 数组的 List 对象?

python - 如何将元组作为参数传递给 `divmod()` 函数

python - 正则表达式模式仅匹配一半

python - 无法从 python-ldap 连接到 Windows Server 2016 上的 ldaps

python - QSTK 中的时间增量

Java/Android - 两个 Collections.sort 组合(首先按 int,然后按名称)

python - 比较嵌套列表的相似度

c# - 遍历 KeyValuePair 以外的内容时如何输出字典值

list - haskell - 指定为真的条件数

python - unicode 字符串中的内存位置