Здравствуйте, оцените пожалуйста первую программу на Python :)
print("Добро пожаловать на контролоьную работу по биологии для 5,6,7 классов.")
print("Каждое слово пиши с большой буквы, варианты ответов тоже пиши большими буквами.")
print("Ответ на каждый вопрос всегда ОДНА буква.")
print("Всё нужно писать только Русскими буквами.")
balll = 0
ball = 0
otvet = 0
bal = 0
name = str(input("Введи своё имя: "))
fam = str(input("Введи свою фамилию: "))
print("5-7")
klas = str(input("Введи цифру своего класса: "))
print("А-Е")
klasb = str(input("Введи букву своего класса: "))
print ((fam + " " + name + "." + " " + klas + klasb))
print("Всё верно?")
v = input("Да или Нет: ")
while v == "Нет":
name = str(input("Введи своё имя: "))
fam = str(input("Введи свою фамилию: "))
print("5-7")
klas = str(input("Введи цифру своего класса: "))
print("А-Е")
klasb = str(input("Введи букву своего класса: "))
print ((fam + " " + name + "." + " " + klas + klasb))
print("Всё верно?")
v = input("Да или Нет: ")
print("Отлично! Первый вопрос:")
print("Фотосинтез происходит:")
print("А) В усьтицах. Б) В межклетниках. В) В хлоропластах.")
otvet1 = input("Ответ: ")
if otvet1 == "В":
print ("Молодец, ты ответил правильно!")
bal += 2
otvet += 1
else:
print ("Ты ответил неверно!")
print("Теперь второй вопрос:")
print("В процессе фотосинтеза происходит:")
print("А) Поглощение кислорода, выделение воды и углекислого газа. Б) Поглощение углекислого газа и образование кислорода. В) Нет првильного ответа")
otvet2 = input("Ответ: ")
if otvet2 == "Б":
print ("Молодец, ты ответил правильно!")
bal += 3
otvet += 1
else:
print("Ты ответил неверно!")
print("Дальше третий вопрос:")
print("Крахмал, образующийся в листьях, в процессе фотосинтеза является")
print("А) Запасным питательным веществом. Б) Побочным продуктом обмена, выделяемым во внешнюю среду. В) Нет правильного ответа.")
otvet3 = input("Ответ: ")
if otvet3 == "А":
print ("Молодец, ты ответил правильно!")
bal += 3
otvet += 1
else:
print ("Ты ответил неверно!")
print("Переходим к третьему вопросу:")
print("Крахмал, образующийся в листьях в процессе фотосинтеза, нужен растению для")
print("А) Выделения его во внешнюю среду. Б) Снабжение всех частей растения. В) Нет правильного ответа.")
otvet4 = input("Ответ: ")
if otvet4 == "Б":
print("Молодец, ты ответил правильно!")
bal += 3
otvet += 1
else:
print("Ты ответил неверно!")
print("Теперь пятый вопрос:")
print("Бактерии способны к фотосинтезу?")
print("А) Способны. Б) Не способны. ")
otvet5 = input("Ответ: ")
if otvet5 == "А":
bal += 2
otvet += 1
else:
print("Ты ответил неверно!")
print("Теперь шестой вопрос:")
print("Основной продукт фотосинтеза")
print("А) Сахар. Б) Кислород. В) Белки. Г) Соли.")
otvet6 = input("Ответ: ")
if otvet6 == "А":
print("Ты ответил правильно!")
bal += 2
otvet += 1
else:
print("Ты ответил неверно!")
print("Теперь седьмой вопрос:")
print("Фотосинтез происходит")
print("А) Только на свету. Б) Только ночью. В) В темноте. Г) Только осенью.")
otvet7 = input("Ответ: ")
if otvet7 == "А":
print("Ты ответил правильно!")
bal += 2
otvet += 1
else:
print("Ты ответил неверно!")
ball = str(otvet)
balll = str(bal)
print(" ")
print("Ты ответил на " + ball + " из 10 " + "вопросов")
print("Ты набрал " + balll + " Из 23 балов")
balll = int(bal)
if balll >= 20:
print("Твоя оценка - 5!")
if balll >= 17 and balll < 20:
print("Твоя оценка - 4!")
if balll >= 14 and balll < 17:
print ("Твоя оценка - 3!")
if balll < 14:
print ("Твоя оценка - 2!")
input("Для завершения работы этой программы нажми на Enter ")
((Вырезал несколько вопросов, не влезло))
Python
Оцените первую программу на Python, если не трудно :)
Программы обычно пишутся не так громоздко. Этот пример можно сделать вот так:


bal, ball, balll = это уже шедевр....
Ну она хотя бы работает. Из серьезных косяков - Названия переменных. Видя ball, сразу думается про мяч, а не про баллы. Еще, одна и та же процедура повторяется на каждом вопросе, её можно завернуть в функцию, чтобы везде не повторять.
Ну и, писать варианты ответов русскими буквами - опасно. В самой программе можно перепутать русские и латинские `a`, `в`. Числами надежнее.
Перевод, без искажения оригинала (вроде интуитивно понятно):
print("Добро пожаловать на контролоьную работу по биологии для 5,6,7 классов.")
print("Каждое слово пиши с большой буквы.")
print("Ответ на каждый вопрос всегда ОДНО число.")
while True:
name = input("Введи своё имя: ")
surname = input("Введи свою фамилию: ")
_class_ = [
input("5-7\nВведи цифру своего класса: "),
input("А-Е\nВведи букву своего класса: ")
]
print(surname + " " + name + ". " + _class_[0] + _class_[1])
confirm = input("Всё верно? \nДа или Нет: ")
if confirm.lower() == "да":
break
data = [
{
"msg": "Отлично! Первый вопрос:",
"question": "Фотосинтез происходит:",
"versions": "1) В усьтицах. 2) В межклетниках. 3) В хлоропластах.",
"correct": "3",
"points": 2
},
{
"msg": "Теперь второй вопрос:",
"question": "В процессе фотосинтеза происходит:",
"versions": "1) Поглощение кислорода, выделение воды и углекислого газа. 2) Поглощение углекислого газа и образование кислорода. 3) Нет првильного ответа",
"correct": "2",
"points": 3
},
{
"msg": "Дальше третий вопрос:",
"question": "Крахмал, образующийся в листьях, в процессе фотосинтеза является",
"versions": "1) Запасным питательным веществом. 2) Побочным продуктом обмена, выделяемым во внешнюю среду. 3) Нет правильного ответа.",
"correct": "1",
"points": 3
},
{
"msg": "Переходим к четвертому вопросу:",
"question": "Крахмал, образующийся в листьях в процессе фотосинтеза, нужен растению для",
"versions": "1) Выделения его во внешнюю среду. 2) Снабжение всех частей растения. 3) Нет правильного ответа.",
"correct": "2",
"points": 3
},
]
###
correct_answers = 0
points = 0
def ask(obj):
global correct_answers
global points
print(obj["msg"])
print(obj["question"])
print(obj["versions"])
answer = input("Ответ: ").lower()
if answer == obj["correct"].lower():
print("Молодец, ты ответил правильно!")
points += obj["points"]
correct_answers += 1
else:
print("Ты ответил неверно!")
def get_grade(points):
keys = [20, 17, 14, 0]
for i, num in enumerate(keys):
if points >= num:
return len(keys) + 1 - i
###
for obj in data: ask(obj)
print("\nТы ответил на " + str(correct_answers) + " из 10 вопросов")
print("Ты набрал " + str(points) + " Из 23 балов")
print("Твоя оценка - " + str(get_grade(points)) + "!")
input("Для завершения работы этой программы нажми на Enter ")
Ну и, писать варианты ответов русскими буквами - опасно. В самой программе можно перепутать русские и латинские `a`, `в`. Числами надежнее.
Перевод, без искажения оригинала (вроде интуитивно понятно):
print("Добро пожаловать на контролоьную работу по биологии для 5,6,7 классов.")
print("Каждое слово пиши с большой буквы.")
print("Ответ на каждый вопрос всегда ОДНО число.")
while True:
name = input("Введи своё имя: ")
surname = input("Введи свою фамилию: ")
_class_ = [
input("5-7\nВведи цифру своего класса: "),
input("А-Е\nВведи букву своего класса: ")
]
print(surname + " " + name + ". " + _class_[0] + _class_[1])
confirm = input("Всё верно? \nДа или Нет: ")
if confirm.lower() == "да":
break
data = [
{
"msg": "Отлично! Первый вопрос:",
"question": "Фотосинтез происходит:",
"versions": "1) В усьтицах. 2) В межклетниках. 3) В хлоропластах.",
"correct": "3",
"points": 2
},
{
"msg": "Теперь второй вопрос:",
"question": "В процессе фотосинтеза происходит:",
"versions": "1) Поглощение кислорода, выделение воды и углекислого газа. 2) Поглощение углекислого газа и образование кислорода. 3) Нет првильного ответа",
"correct": "2",
"points": 3
},
{
"msg": "Дальше третий вопрос:",
"question": "Крахмал, образующийся в листьях, в процессе фотосинтеза является",
"versions": "1) Запасным питательным веществом. 2) Побочным продуктом обмена, выделяемым во внешнюю среду. 3) Нет правильного ответа.",
"correct": "1",
"points": 3
},
{
"msg": "Переходим к четвертому вопросу:",
"question": "Крахмал, образующийся в листьях в процессе фотосинтеза, нужен растению для",
"versions": "1) Выделения его во внешнюю среду. 2) Снабжение всех частей растения. 3) Нет правильного ответа.",
"correct": "2",
"points": 3
},
]
###
correct_answers = 0
points = 0
def ask(obj):
global correct_answers
global points
print(obj["msg"])
print(obj["question"])
print(obj["versions"])
answer = input("Ответ: ").lower()
if answer == obj["correct"].lower():
print("Молодец, ты ответил правильно!")
points += obj["points"]
correct_answers += 1
else:
print("Ты ответил неверно!")
def get_grade(points):
keys = [20, 17, 14, 0]
for i, num in enumerate(keys):
if points >= num:
return len(keys) + 1 - i
###
for obj in data: ask(obj)
print("\nТы ответил на " + str(correct_answers) + " из 10 вопросов")
print("Ты набрал " + str(points) + " Из 23 балов")
print("Твоя оценка - " + str(get_grade(points)) + "!")
input("Для завершения работы этой программы нажми на Enter ")
У тебя ошибка в 20-й строчке.
Похожие вопросы
- Оцените программу на Python
- Помогите, как сделать авторизацию в программе на python?
- Помогите написать программу на Python, моя версия кода на скрине, вроде всё работает, но автопроверка не проходит.
- Напишите программу на Python
- Выразите число в виде суммы четырех квадратов Нужно написать программу на python
- Очень надо написать программу на Python!!!
- Программа на Python
- Помогите пожалуйста написать 2 программы на Python
- Помогите с программой на python библиотека tkinter
- Написать программу в python
Если я правильно понял эта строчка. А что там не так?