#python-3.x
#python-3.x
Вопрос:
В Python я переношу информацию из файла в список, а затем печатаю первый индекс в списке, теперь я хочу напечатать следующий индекс из списка без многократного ввода моего кода.
Как я могу повысить индекс, который я печатаю?
question = open("questions.txt", "r")
print(question.readlines()[0])
tanswer = open("answers.txt", "r")
correct_answer = float(tanswer.readlines()[0])
uanswer = float(input("Write the answer: "))
if correct_answer==uanswer:
print("Amazing " str(correct_answer) " is the correct answer")
else:
print("Wrong " str(uanswer) " is not correct, Try again please. ")
Ответ №1:
Насколько я понял, вы пытаетесь разделить строки. допустим
line = '1000 2000 3000'
line = line.split(' ')
затем вы получите строку [0]
Попробуйте это, я надеюсь, это поможет.
Комментарии:
1. Спасибо, я хотел бы запустить эту функцию в цикле, где каждый раз, когда функция будет печатать следующий индекс (строка в списке), будет печататься, в этом запуске: print(question.readlines()[0]) он будет печатать индекс 0, в следующем запуске он будет печатать индекс 1 и так далее до конца списка
Ответ №2:
Используйте zip:
with open("questions.txt") as ques, open("answers.txt") as ans:
for q, a in zip(ques, ans):
print(q)
uanswer = input("Write the answer: ")
if float(a) == float(uanswer):
print("Amazing " str(a) " is the correct answer")
else:
print("Wrong " str(uanswer) " is not correct, Try again please. ")