Привет У меня есть следующий текстовый файл, на котором я использую читателя CSV:неаккуратно чтение из логики файл ошибки Python
number,obstacle,location,message
1,gobacktostart,8,Sorry but you've landed on a dangerous number, back to the start for you!
2,movetosquare42,matrix[1][0],The meaning of life is 42 or so they say, and that's where you're headed
Я желаю, чтобы (в конце) получить число 8 из строки, которая начинается 1, gobacktostart, 8 .... и т.д..
Мой код:
def gobacktostart():
with open("obstacles.txt","r") as f:
idnumber="1"
fReader=csv.reader(f)
for row in fReader:
for field in row:
if field==idnumber:
print(row[3])
player1position==row[2]
print(player1position)
и нежелательная выход, однако, является:
>>>
Sorry but you've landed on a dangerous number
1
>>>
мне нужно прочитать значение в переменную player1position для того, чтобы передать его на другой функции в другой части программы.
Любые мысли о решении этой логической ошибки? Почему это печатает «1», когда строка [2] относится к 8. Кроме того, строка [3] кажется правильно исполнена в предыдущей строке ....
Вместо присваивания ('=') вы использовали '==' (тестирование равенства). Результат теста равенства игнорируется, и вы просто получаете * любой объект 'player1position' уже ссылался *. –
Обратите внимание, что здесь не нужно использовать 'for field in row'. Просто проверьте, если 'row [0] == idnumber'; вам не нужно проверять каждый столбец в строке, когда должен соответствовать только первый столбец. –