py_stepik/quiz copy.py

74 lines
3.7 KiB
Python
Raw Permalink 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, 5
questions = (
("В каком году закончилась Великая Отечественная война?", "1945", 5),
("Как называется треугольник у которого все стороны равны?", "равносторонний", 8),
(
"Как называется процесс синтеза углеводов из неорганических веществ за счёт энергии солнца?",
"фотосинтез",
15,
),
(
"""В известной русской пословице упомянуто некое средство передвижения, а современный аналог этой пословицы звучит так: "Что из НЕЕ удалено, то пропало". Назовите ЕЕ.""",
"корзина",
2,
),
("Огурец относится к группе бобовых или тыквенных растений?", "тыквенных ", 10),
("Хлопчатник — трава или куст?", "куст", 7),
("Продолжить поговорку: «Куда иголка, туда и …»", "нитка", 10),
("Гидроскопичность — это способность поглощать влагу или пыль?", "влагу", 8),
("Как звали мать Гамлета из трагедии Уильяма Шекспира?", "гертруда", 2),
(
"Какой слой атмосферы находится ближе к Земле: стратосфера или тропосфера?",
"тропосфера",
6,
),
(
"Какое слово было заимствовано английским языком из русского в 1957 году?",
"спутник",
7,
),
(
"Какое слово, услышанное от отца‑политика, мальчик в рассказе В. В. Набокова «Лебеда» понял так: «сборища, на которых, вероятно, все во фраках»?",
"фракция",
3,
),
("Она расскажет вам о любви ценой собственной жизни. Кто она?", "Ромашка", 7),
(
"Стоит село, всё заселено, по утрам петухи поют, а люди не встают.",
"кладбище",
5,
),
(
"Воимчики поют, сухо дерево везут; заехал в ухаб, не выехать никак.",
"похороны",
4,
),
)
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 "В следующий раз повезет!")