繁体   English   中英

带小数点的打印编号

[英]Printing number with decimal point

好吧,我无法打印带小数点的数字。 当我运行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

但是,当打印“ media”时,应该带小数点的数字没有带小数点。 我该如何解决?

最简单的更改:除以3.0而不是3

media = (grade1 + grade2 + grade3) / 3.0

这将确保即使三个等级变量都具有整数,分配给media的值也将是浮点数。

在文件顶部,添加:

from __future__ import division

或使用3.0而不是3。在Python 2中,将两个整数相除总是会产生一个整数。

您的操作被视为整数除法,请尝试使用3.0代替3,然后看看会发生什么。

在Python 2.x中将两个整数相除时,结果将是一个整数。 数字类型的文档中:

对于(普通或长整数)整数除法,结果是整数。 结果总是四舍五入为负无穷大:1/2为0,(-1)/ 2为-1,1 /(-2)为-1,(-1)/(-2)为0。请注意如果两个操作数中的任何一个均为长整数,则结果均为长整数,而与数值无关。

要获得所需的行为,请from __future__ import division添加到模块顶部以使用Python 3除法行为 ,或者将分子或分母之一(或两者都更改为浮点数):

# either of the following would work
media = float(grade1 + grade2 + grade3) / 3
media = (grade1 + grade2 + grade3) / 3.0

暂无
暂无

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

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