2 回答
TA貢獻1806條經驗 獲得超8個贊
嘗試:
def format(number, width):
numstr = str(number)
result = ''
numstrlen = len(numstr)
for i in range(width - numstrlen):
result += '0'
result += numstr
return result
我本來只是做減法運算,但是您說它必須是一個循環。
如果您不能使用len:
def format(number, width):
numstr = str(number)
result = ''
numstrlen = 0
for c in numstr:
numstrlen += 1
for i in range(width - numstrlen):
result += '0'
result += numstr
return result
TA貢獻1784條經驗 獲得超2個贊
我不太理解“僅可以使用循環和函數”的意思。由于您可以使用函數,因此您幾乎可以在Python中使用任何東西。
最簡單的解決方案:
def format(n,w):
s = str(n)
return ('0' * w + s)[-max(w,len(s)):]
>>> format(34,4)
'0034'
或者您可以使用循環:
def format(n,w):
s = str(n)
result = ''
for i in range(w - len(s)):
result += '0'
return result + s
>>> format(34,1)
'34'
>>> format(34,4)
'0034'
添加回答
舉報
