我是编程的新手,遇到了一些我无法弄清楚的东西! 我有一个用户定义的函数,它应该计算一个百分比:
def test_score(num_correct, total):
temp_value = num_correct / total
return temp_value*100
a = 12
b = 20
print(test_score(a, b))
根据我的计算,程序应该返回值60,并且当代码输入IDLE时它会这样做。但是,当进入Pycharm时,代码返回值0。
关于为什么会出现这种情况的任何想法?
答案 0 :(得分:2)
这可能取决于评论中指出的不同Python版本。
Python2:
12 / 20 -> 0 (default for integers)
12 * 1.0 / 20 -> 0.6 (if float is involved)
Python3:
12 / 20 -> 0.6 (default for integers)
12 // 20 -> 0 (floor division)
请参阅division和floor division上的文档。
在Pycharm中,您可以将Python版本设置为settings -> project -> project interpreter
(或类似,具体取决于版本和平台)。