我正在尝试编写一个程序,它将接受一个列表作为输入。第一个数字应该是一个指定的范围。最后一个数字应该是最大值。然后,在指定的范围内(不包括第一个值)输出小于或等于最大值的所有数字。守则如下:
nums = input().splitlines()
theRange = int(nums[0])
highNum = int(nums[-1])
i = 1
while (i <= theRange) and (i <= len(nums)):
if int(nums[i]) <= theRange:
print(nums[i])
i += 1输入后:
5
50
60
140
200
75
100所导致的错误是:
Traceback (most recent call last):
File "main.py", line 8, in <module>
if int(nums[i]) <= theRange:
IndexError: list index out of range这是没有意义的,因为theRange变量小于num的长度。请告诉我为什么会这样。谢谢。
发布于 2020-04-09 22:23:33
Python中的列表是基于零的,所以您应该使用<运算符,而不是<=。
while (i < theRange) and (i < len(nums)):https://stackoverflow.com/questions/61131141
复制相似问题