Программа викторины с использованием текстового файлаPython

Программы на Python
Ответить
Anonymous
 Программа викторины с использованием текстового файла

Сообщение Anonymous »

Я пытаюсь создать программу-викторину на Python, в которой вопросы хранятся в одном текстовом файле, а ответы — в другом. Вопросы изложены в текстовом файле следующим образом:

Код: Выделить всё

Which one of these is a percussion instrument?
A. Trumpet
B. Euphonium
C. Viola
D. Glockenspiel
Программа вытаскивает вопросы в случайном порядке и ведет подсчет количества правильных ответов.
Я умею открывать файлы, читать из них и отображать содержимое файла на экране, теперь я даже знаю, как рандомизировать информацию в файле. Однако, поскольку здесь задействовано несколько строк И еще один файл, из которого можно получить ответ, я понятия не имею, с чего начать.
Я был бы очень признателен за любую помощь, которую вы могли бы мне предложить.
Не стесняйтесь задавать вопросы, если вам нужно что-то прояснить.

РЕДАКТИРОВАТЬ:
Хорошо, я решил немного изменить свою идею, что может облегчить задачу. Использование файла CSV может быть лучшим вариантом. Вот что у меня есть на данный момент.

Код: Выделить всё

def Trivia():
score=0
myFile = open("farming.csv","r") # opens the CSV file and stores it in the array myFile
players = myFile.readlines() # reads the lines of the CSV file into the variable players
questionno=1
while questionno < 6:

for p in players:
data = p.split(",") #splits each cell of the CSV file into its parts
questions = data[0]
answera = data[1]
answerb = data[2]
answerc = data[3]
CorrectAnswer = data[4]
print("Question #",questionno)
print(questions) #prints the question and the 3 answers
time.sleep(0.5)
print(answera)
time.sleep(0.5)
print(answerb)
time.sleep(0.5)
print(answerc)
time.sleep(0.5)
answer = input("Answer? ") #asks the user for their answer
time.sleep(1)
print(".")
time.sleep(1)
print(".")
time.sleep(1)
print(".")

if answer == CorrectAnswer: #checks if the answer is correct and prints approptiate responses
print("That is the correct answer")
score=score+1
time.sleep(1)
else:
print("That is not the correct answer")
time.sleep(1)
print("Your current score is", score)
print("")
questionno = questionno+1

myFile.close()
Моя проблема сейчас в том, что я не знаю, как перейти к следующему вопросу викторины. Используя этот формат, он продолжает задавать один и тот же вопрос. Есть идеи?

Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/287 ... -text-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»