Форум сайта python.su
0
Есть файл “file.txt” в нем содержится:
———————————————————-
Рождество/
Кто родился 7 января?/
1 - Король
2 - Зебра
3 - Иисус
4 - Сапог
3
Да правельный ответ 3 - Иисус, именно он родился 7 января.
———————————————————–
Программа должна работать так
Появляется тема (т.е первая строка из file.txt “Рождество”)
Затем вопрос (вторая строка из file.txt)
Появляются 4 варианта ответа
Правельный ответ указан 7 строкой(т.е 3)
Если пользователь ответил правельно появляется комментарий(т.е последняя строка)
Вот код
#Читает из текстого дукумента import sys def open_file(file): try: x = open("file.txt", "r") except IOError as e: print("Файла с именем file.txt нету", e) input("Нажмите Enter чтобы выйти.") sys.exit() else: return x def next_line(x): line = x.readline() line = line.replace("/", "\n") return line def next_block(x): subject = next_line(x) question = next_line(x) answer1 = next_line(x) answer2 = next_line(x) answer3 = next_line(x) answer4 = next_line(x) true_answer = next_line(x) commentary = next_line(x) return subject, question, answer1, answer2, answer3, answer4, true_answer, commentary def welcome(subject): print("Добро пожаловать в игру Викторина") print("Вот тема: ", subject) def true_question(question): print("Вопрос: ", question) def answers(answer1, answer2, answer3, answer4): print("Варианты ответов") for i in (answer1, answer2, answer3, answer4): print(i) def commentarys(commentary): print(commentary) def main(subject, question, answer1, answer2, answer3, answer4): welcome(subject) true_question(question) answers(answer1, answer2, answer3, answer4) main(subject, question, answer1, answer2, answer3, answer4) otwet = None while otwet: otwet = input("Введите ответ: ") if otwet == true_answer: print("Правельно") commentarys(commentary) input("Нажмите Enter чтобы выйти.") break else: print("Нет")
Офлайн
Цикл while otwet у вас ни разу не выполнится.
Офлайн
0
Light3JIbqpВ ошибках что пишет? У функций свои пространства имен, если переменная не объявлена глобальной, верно?
Помогите найти ошибку
Офлайн
0
Hello_worldmain(subject, question, answer1, answer2, answer3, answer4)
Офлайн
63
Что делает эта строчка???
main(subject, question, answer1, answer2, answer3, answer4)
Отредактировано 4kpt (Янв. 8, 2013 16:47:00)
Офлайн
Код настолько ужасен, что советую Вам собраться с мыслями и переписать с нуля все. Функция next_block вообще нигде не вызывается ни разу, def commentarys это вообще нелепо… Насчет имен Вам уже сказали. Без обид.
Офлайн