py_stepik/quiz.py
2024-01-26 16:54:41 +03:00

37 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import random
passed, score, count = 0, 0, random.randint(3, 4)
questions = (
("В каком году закончилась Великая Отечественная война?", "1945", 5),
("Как называется треугольник у которого все стороны равны?", "равносторонний", 8),
("Огурец относится к группе бобовых или тыквенных растений?", "тыквенных ", 10),
("Хлопчатник — трава или куст?", "куст", 7),
("Продолжить поговорку: «Куда иголка, туда и …»", "нитка", 10),
("Гидроскопичность — это способность поглощать влагу или пыль?", "влагу", 8),
("Как звали мать Гамлета из трагедии Уильяма Шекспира?", "гертруда", 2),
("Она расскажет вам о любви ценой собственной жизни. Кто она?", "ромашка", 7),
)
sample = random.sample(questions, count)
total_score = sum((*zip(*sample),)[2])
need = int(total_score * 2 / 3)
print("Добро пожаловать на викторину")
print(f"Викторина состоит из {count} вопросов, нужно набрать не менее {need} баллов")
for question, q_answer, q_score in sample:
print("- - - - - - - - - - - -\n")
print(f"Вопрос: \n{question}\n")
otv = input("Ваш ответ: ")
if otv.strip().lower() == q_answer.lower():
print(f"Верно, вы набрали {q_score} баллов")
passed += 1
score += q_score
else:
print("Не верно")
print("- - - - - - - - - - - -\n")
print(f"Вы ответили на {passed} вопросов и набрали {score} из {total_score} баллов.")
print(score >= need and "Вы восхитительны!" or "В следующий раз повезет!")