Как создать систему подсчета очков в Python?

Может ли кто-нибудь показать мне пример системы, в которой, когда вы правильно отвечаете на вопрос, она дает вам один балл, а в конце викторины дает мне общую сумму, насколько я правильно понял?

Это код, который у меня есть на данный момент:

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')

Да, я пробовал, но ошибки продолжались.

Wolffe 01.05.2018 13:42

Я просто хочу простой пример.

Wolffe 01.05.2018 13:43

Это слишком много для Stack Overflow. Можете ли вы показать нам уже имеющийся у вас код - как вы храните вопросы? У вас есть петля для отображения всех вопросов? Как вы относитесь к этому циклу? Как вы решаете, правильный ответ или нет? Это консольная программа?

halfer 01.05.2018 13:43

Я просто хочу знать, как их все сложить.

Wolffe 01.05.2018 13:50

В Python не нужно ли делать отступы для всего в строке def? Я не пишу Python, так что ...

halfer 01.05.2018 13:51

Похоже, в ваших подсказках говорится о словах (во множественном числе), но вы получаете только один ответ. Можете ли вы изменить свой код для хранения списка слов? Я полагаю, вам понадобится какой-то массив.

halfer 01.05.2018 13:53

Кстати, нет необходимости в + во втором последнем операторе печати. И будьте осторожны, пустая последовательность in также является любой строкой ("" in "hi" - возвращает True). Лучше мог бы быть a.lower() in ("bonjour",). Тогда у вас также есть возможность сразу поймать несколько возможных правильных решений: a.lower() in ("bonjour","bonjour!")

NewNewton 01.05.2018 14:26
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
6
7
14 371
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
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, преобразовав ввод в нижний регистр и проверив значение нижнего регистра.

Другие вопросы по теме