好吧我打印带小数点的数字有困难。 当我运行python并要求它进行除法,其中结果必须是带小数点的数字,它不会打印小数点。 例如,我刚刚制作了这个算法:
print 'Report card calculation'
grade1 = input ('Insert the first grade: ')
grade2 = input ('Insert the second grade: ')
grade3 = input ('Insrt the third grade: ')
media = (grade1 + grade2 + grade3) / 3
print 'Your final result is', media
但是当它打印“媒体”时,应该有小数点的数字不带小数点。我该如何解决?
答案 0 :(得分:2)
最简单的更改:除以3.0
而不是3
:
media = (grade1 + grade2 + grade3) / 3.0
这将确保分配给media
的值即使三个等级变量保持整数也是浮点数。
答案 1 :(得分:2)
在文件顶部添加:
from __future__ import division
或使用3.0而不是3.在Python 2中,除以两个整数总是产生一个整数。
答案 2 :(得分:1)
您的操作作为整数除法处理,尝试使用3.0代替3,看看会发生什么。
答案 3 :(得分:1)
在Python 2.x中划分两个整数时,结果将是一个整数。来自Numeric Types的文档:
对于(普通或长整数)除法,结果为整数。结果总是向负无穷大舍入:1/2为0,( - 1)/ 2为-1,1 /( - 2)为-1,(-1)/( - 2)为0.注意如果任一操作数是一个长整数,则结果为长整数,无论数值如何。
要获得所需的行为,可以将from __future__ import division
添加到模块的顶部以使用Python 3 division behavior,或者将分子或分母(或两者)更改为浮点数:
# either of the following would work
media = float(grade1 + grade2 + grade3) / 3
media = (grade1 + grade2 + grade3) / 3.0