Может ли кто-нибудь показать мне пример системы, в которой, когда вы правильно отвечаете на вопрос, она дает вам один балл, а в конце викторины дает мне общую сумму, насколько я правильно понял?
Это код, который у меня есть на данный момент:
def QuestionSet1():
print("Challenge level 1 has being selected.")
print("Can you translate these words into french?")
a=input('Q1. Hello! :')
if 'Bonjour' in a:
score = score + 1
print('Correct!')
elif 'bonjour'in a:
score = score + 1
print('Correct!')
else:
print('Wrong! '+'Its Bonjour')
print('You have finished and scored', score, 'out of 10')
Я просто хочу простой пример.
Это слишком много для Stack Overflow. Можете ли вы показать нам уже имеющийся у вас код - как вы храните вопросы? У вас есть петля для отображения всех вопросов? Как вы относитесь к этому циклу? Как вы решаете, правильный ответ или нет? Это консольная программа?
Я просто хочу знать, как их все сложить.
В Python не нужно ли делать отступы для всего в строке def
? Я не пишу Python, так что ...
Похоже, в ваших подсказках говорится о словах (во множественном числе), но вы получаете только один ответ. Можете ли вы изменить свой код для хранения списка слов? Я полагаю, вам понадобится какой-то массив.
Кстати, нет необходимости в +
во втором последнем операторе печати. И будьте осторожны, пустая последовательность in
также является любой строкой ("" in "hi"
- возвращает True). Лучше мог бы быть a.lower() in ("bonjour",)
. Тогда у вас также есть возможность сразу поймать несколько возможных правильных решений: a.lower() in ("bonjour","bonjour!")
def QuestionSet1():
print("Challenge level 1 has being selected.")
print("Can you translate these words into french?")
a=input('Q1. Hello! :')
score = 0
if 'bonjour' in a.lower():
score = score + 1
print('Correct!')
else:
print('Wrong! '+'Its Bonjour')
print('You have finished and scored', score, 'out of 10')
Вам нужно будет сделать ссылку на score
, прежде чем давать ему значение.
Вы также можете удалить один из операторов if, преобразовав ввод в нижний регистр и проверив значение нижнего регистра.
Да, я пробовал, но ошибки продолжались.