我的代码出现问题...当我在Python中执行它并输入一个有效的数字时,它会出现" IndexError:list index超出范围"即使它有效或无效。如果数字介于0和0之间,我希望它能打印行[0]和行[1]。 9否则会打印出错误信息。
import csv
number=input("Enter num: ")
with open("myfile.txt", "r") as file:
fileReader = csv.reader(file)
for row in fileReader:
for i in range (0,10):
if row[i] == number:
print(row [0], row [1])
else:
print ("Error")
file.close()
提前感谢您的帮助!
答案 0 :(得分:0)
如果输入值介于0到9之间,您要求的是打印row[0]
和row[1]
,但您要做的是打印row[0]
和row[1]
输入值与row
和row[0]
之间row[9]
中存储的值相匹配。您还假设row
将包含10个项目(取决于您的输入,这可能是可接受的假设,我不知道)。
如果输入值介于0和9之间,则会打印row[0]
和row[1]
(对于每一行)。它假定每行至少包含两个项目。
import csv
number=input("Enter num: ")
if number >= 0 and number <= 9:
with open("myfile.txt", "r") as file:
fileReader = csv.reader(file)
for row in fileReader:
print(row [0], row [1])
else:
print ("Error")
file.close()