Я думаю, это строка, которая сбивает вас с толку:
file = rand_line("questions.txt")
Вы называете это файлом, но на самом деле это просто случайная строка в файле, которая выглядит так:
C,What is 3+3?,2,4,6,8,c,
И когда вы сделаете split(',')
, ваш detail
будет только
['C']
Я думаю, вы хотите эта строка должна быть списком / массивом. Для этого заключите ваш rand_line
в квадратные скобки []
file = [rand_line("questions.txt")]
Что изменит вывод выше на:
['C,What is 3+3?,2,4,6,8,c,']
Теперь, когда вы делаете split(',')
, ваш detail
равен
['C', 'What is 3+3?', '2', '4', '6', '8', 'c', '']
Не уверен, что делает input()
между print(detail[0])
и print(detail[1])
Кроме того, чтобы избежать смешанного ввода при выборе букв, может быть полезно изменить регистр на тот, который, как вы знаете, находится в файле вопросов:
print("Select A, B, C or D: ")
select = input().lower()
if select == detail[6]:
Пример:
Ответ находится в файле c
, но вам предлагается ввести C
Еще одна вещь, которую нужно сделать, это удалить for l oop. Поскольку file
на самом деле всего одна строка:
line = rand_line("questions.txt")
detail = line.split(",")
print(detail[0])
print(detail[1])
print("a: ", detail[2])
print("b: ", detail[3])
print("c: ", detail[4])