Python基本回合

2024-09-27 04:23:07 发布

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

所以我上周开始学编程,现在我自己都搞不懂了。我需要的最终答案是“大小在24到192之间。”但如果我四舍五入,它会给我192.0。我需要改变什么?你知道吗

minp = 23.75
maxp = 192.4
minp1 = round(minp, 0)
maxp1 = round(maxp, 0)
print("Size between " + str(minp1) + " to " + str(maxp1) + ".")

Tags: to答案size编程betweenprintstrround
2条回答

如果您想将数字保留为float,并以整数格式输出:

def r(val):
    return "{0:.0f}".format(round(val))

minp = 23.75
maxp = 192.4
print("Size between {0} to {1}.".format(r(minp), r(maxp)))

结果:

Size between 24 to 192.

这是因为minp1maxp1的类型仍然是floats,您可以通过将它们传递给int(..)构造函数将它们更改为ints

minp = 23.75
maxp = 192.4
minp1 = int(round(minp, 0))
maxp1 = int(round(maxp, 0))
print("Size between " + str(minp1) + " to " + str(maxp1) + ".")

或在终端中:

$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> minp = 23.75
>>> maxp = 192.4
>>> minp1 = int(round(minp, 0))
>>> maxp1 = int(round(maxp, 0))
>>> print("Size between " + str(minp1) + " to " + str(maxp1) + ".")
Size between 24 to 192.

然而,自己进行字符串处理/连接并不是一个好主意。你最好用formatting string格式化它,比如:

minp = 23.75
maxp = 192.4
minp1 = round(minp, 0)
maxp1 = round(maxp, 0)
print("Size between %d to %d."%(minp1,maxp1))

这里%d代表“有符号整数十进制”。因此,通过使用format,Python将在%d位置填充变量,这是优雅的,不需要从您的角度进行思考。你知道吗

相关问题 更多 >

    热门问题