这是我的第一个问题,所以如果我做错了什么,请告诉我,以便我下次可以更正和/或正确做。
我试图让用户输入十个数字,然后按照他们给的相反顺序将它们吐出来。不过,我无法获得正确的范围,因为它一直要求我只输入 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/