2024-09-27 04:23:07 发布
网友
所以我上周开始学编程,现在我自己都搞不懂了。我需要的最终答案是“大小在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) + ".")
如果您想将数字保留为float,并以整数格式输出:
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.
这是因为minp1和maxp1的类型仍然是floats,您可以通过将它们传递给int(..)构造函数将它们更改为ints:
minp1
maxp1
int(..)
int
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位置填充变量,这是优雅的,不需要从您的角度进行思考。你知道吗
%d
如果您想将数字保留为
float
,并以整数格式输出:结果:
这是因为
minp1
和maxp1
的类型仍然是float
s,您可以通过将它们传递给int(..)
构造函数将它们更改为int
s:或在终端中:
然而,自己进行字符串处理/连接并不是一个好主意。你最好用formatting string格式化它,比如:
这里
%d
代表“有符号整数十进制”。因此,通过使用format,Python将在%d
位置填充变量,这是优雅的,不需要从您的角度进行思考。你知道吗相关问题 更多 >
编程相关推荐