R. *_*rcy -2 python string int concatenation python-3.x
我是初学者的课程,我制作了这段代码,但它不起作用
random_number = str(random.randrange (1, 1000))
random_number_length = (len (random_number))
zero_number = ("0" * 3 - (random_number_length))
final_number = (random_number_length + random_number)
print (final_number)
Run Code Online (Sandbox Code Playgroud)
最终输出需要看起来像:
004
Run Code Online (Sandbox Code Playgroud)
代替:
4
Run Code Online (Sandbox Code Playgroud)
即使生成的数字是89或7,我也需要得到一个三位数.
当我尝试这个时,我得到错误:
zero_number = ("0" * 3 - (random_number_length))
TypeError: unsupported operand type(s) for -: 'str' and 'int'
Run Code Online (Sandbox Code Playgroud)
我猜它与字符串和整数有关.
Python字符串有一个zfill方法,您可以使用它来填充前导零的字符串.
>>> '1'.zfill(3)
'001'
>>> '89'.zfill(3)
'089'
>>> '189'.zfill(3)
'189'
Run Code Online (Sandbox Code Playgroud)
由于zfill不允许:
>>> def f(n):
... s = str(n)
... return '0' * (3 - len(s)) + s
...
>>>
>>> for x in [1, 11, 111]: print(f(x))
...
001
011
111
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
682 次 |
| 最近记录: |