繁体   English   中英

答案显示为浮点数,我不知道为什么在 python 中

[英]Answer appears as a float and I don't know why in python

我正在做一个编程项目。 它给用户(针对小学生)一个随机生成的问题。 当我做我的除法代码时,答案是一个实数/浮点变量,这意味着除非用户在整数末尾有一个 .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

/是 Python 中的浮点除法。 如果你想得到一个带有answer = str((int(num1) / int(num2)))那么你应该使用//代替,这是整数除法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM