我试图弄清楚是否有办法通过从4减去变量数来进行小计算
number_1_raw = random.randrange(1, 1000)
number_1_len = len(number_1_raw)
number_of_zeros = 4 - number_1_len
print("0" * number_of_zeros + number_1_raw)
我希望脚本给我一个范围从1-3的答案,但代码没有正确执行。
期望的输出将是这样的:0617或0071或0008等。
请帮忙解决这个问题,谢谢!
你不能在一个整数上调用len。
len()函数返回对象中的项数。当对象是字符串时,len()函数返回字符串中的字符数。
所以你能做的就是
number_1_len = len(str(number_1_raw))
str将int类型更改为字符串类型。
这条线number_1_len = len(number_1_raw)
是问题。您将获得一个整数值number_1_len,长度为1。这个number_1_len实际上是你想要的零个数
拳头我需要更好地了解发生的事情......
拳头
number_1_raw = random.randrange(1, 1000)
random.randrange返回一个数字,可能是int。
第二
number_1_len = len(number_1_raw)
有问题,因为number_1_raw是一个int而len是一个计算数组元素数量的函数,一个对象......但是number_1_len不是......那是一个int而len不能计算一个int元素。 ..
重要的是你要表明你所得到的所有错误......并更好地解释你正在尝试做什么......
我想你需要:
import random
number_1_raw = random.randrange(1, 1000)
number_1_len = len(str(number_1_raw))
number_of_zeros = 4 - number_1_len
print(number_of_zeros)
result = "0" * number_of_zeros
print(result+str(number_1_raw))
产量
1 # number of zeros
0801
你的代码出了什么问题
您正在尝试查找整数number_1_raw
的长度,它会给您错误,因为您需要迭代或字符串来查找该对象的长度。首先将其转换为字符串然后使用len
。
此外,在print
语句中,您需要将number_1_raw
转换为字符串,以便可以追加它。你不能在+
和str
上执行int
操作。