Ответ отображается как число с плавающей точкой, и я не знаю, почему в python - PullRequest
1 голос
/ 26 марта 2020

Я занимаюсь программированием. Это дает пользователю (для учащихся начальной школы) случайно сгенерированный вопрос. Когда я делаю свой код деления, ответом является переменная real / float, означающая, что, если у пользователя нет .0 в конце целого числа, его ответ обрабатывается как неправильный. Мой код:

while True:
            num1 = str((random.randint(0,12)))
            num2 = str((random.randint(0,12)))
            if num1 >= num2:
                question = (num1 + " " + "/" + " " + num2)
                print(question)
                answer = str((int(num1) / int(num2)))
                reply = str(input())
                if reply == answer:
                    score = score + 1
                    print("Correct")
                    break
                else:
                    print("Incorrect")
                    print("The answer was", answer)
                    break
            else:
                print("") 

Я понимаю, что иногда в ответе будет десятичная точка, но есть способ разрешить целому числу не иметь .0 в конце. Если нет, то как я могу улучшить код, чтобы я не получил эту проблему. Любая помощь приветствуется. Моя python -идеальная версия 3.8

1 Ответ

2 голосов
/ 26 марта 2020

/ равно с плавающей запятой деление на Python. Если вы хотите получить int со строкой answer = str((int(num1) / int(num2))), вам следует использовать вместо нее //, то есть integer Division.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...