变量分配不起作用。标准输出到变量
Variable assignment not working. Stdout to var
我正在尝试将标准输出或打印值分配给变量字节。当程序为 运行 时,它会确定一个数字的值,将其四舍五入到最接近的个位、十位或百位,然后删除尾随零并在其后打印一个字母。例如,如果 number=920,193,032 代码将打印 921m。然后我需要将该输出存储到一个变量,但我没有任何运气。我尝试使用 from io import StringIO
方法,但我得到的只是一个空行。
div=#
divi=str(div)
divide=len(divi)
elif divide >= 7 and divide < 10:
def roundup(x):
return int(math.ceil(x / 1000000.0)) * 10**6
z=roundup(div)
array = [int(x) for x in str(z)]
if divide == 7:
byte=print(array[0], end="");print('m')
elif divide == 8:
byte=print(array[0], end="");print(array[1], end="");print('m')
elif divide == 9:
byte=print(array[0], end="");print(array[1], end="");print(array[2], end="");print('m')
我认为您正在寻找一种将数字格式化为字符串的方法。在这种情况下,如果 number=920,193,032
,那么您可以将其格式化为 "{}m".format(int(number/1000000))
以获得 921m
一方面,不要使用print()
。 (然而,我什至向你的创造力致敬!)相反,只需将值转换为字符串。
byte=str(array[0]) +'m'
其他的依此类推。
Python 有许多您可以使用的字符串格式化功能。这是最新的字符串格式化功能 f-string 的等价物:
bytes = f"{array[0]}m"
我正在尝试将标准输出或打印值分配给变量字节。当程序为 运行 时,它会确定一个数字的值,将其四舍五入到最接近的个位、十位或百位,然后删除尾随零并在其后打印一个字母。例如,如果 number=920,193,032 代码将打印 921m。然后我需要将该输出存储到一个变量,但我没有任何运气。我尝试使用 from io import StringIO
方法,但我得到的只是一个空行。
div=#
divi=str(div)
divide=len(divi)
elif divide >= 7 and divide < 10:
def roundup(x):
return int(math.ceil(x / 1000000.0)) * 10**6
z=roundup(div)
array = [int(x) for x in str(z)]
if divide == 7:
byte=print(array[0], end="");print('m')
elif divide == 8:
byte=print(array[0], end="");print(array[1], end="");print('m')
elif divide == 9:
byte=print(array[0], end="");print(array[1], end="");print(array[2], end="");print('m')
我认为您正在寻找一种将数字格式化为字符串的方法。在这种情况下,如果 number=920,193,032
,那么您可以将其格式化为 "{}m".format(int(number/1000000))
以获得 921m
一方面,不要使用print()
。 (然而,我什至向你的创造力致敬!)相反,只需将值转换为字符串。
byte=str(array[0]) +'m'
其他的依此类推。
Python 有许多您可以使用的字符串格式化功能。这是最新的字符串格式化功能 f-string 的等价物:
bytes = f"{array[0]}m"