在一个特殊的cas中强制除法成为Python中的浮点

2024-04-27 00:46:13 发布

您现在位置:Python中文网/ 问答频道 /正文

这段代码打印17,但我希望除法使用浮点执行(因此应该打印17.5)。如何强制除法为浮点?你知道吗

math = 8
physics = 9.5
algebra = 7.50
geometry = 10

**print "My GPA is %d" % ((math + physics + algebra + geometry)/2)**

Tags: 代码ismymath浮点printgpageometry
1条回答
网友
1楼 · 发布于 2024-04-27 00:46:13

%d用于整数,浮点数使用%f。对float使用%d将只打印它的小数部分。你知道吗

>>> print "My GPA is %f" % ((math + physics + algebra + geometry)/2)
My GPA is 17.500000

或:

>>> print "My GPA is %.1f" % ((math + physics + algebra + geometry)/2)
My GPA is 17.5

使用新样式字符串格式:

>>> print "My GPA is {:.1f}" .format((math + physics + algebra + geometry)/2)
My GPA is 17.5

还要注意,py2.x中的整数除法会截断输出并返回一个整数。你知道吗

若要修复此问题,应至少将一个操作数转换为浮点。你知道吗

>>> 3/2
1
>>> 3/float(2)
1.5
>>> 3/2.
1.5

或导入python3.x的divison

>>> from __future__ import division
>>> 3/2
1.5

相关问题 更多 >