亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

返回帶有前綴0s的數字的字符串

返回帶有前綴0s的數字的字符串

鳳凰求蠱 2021-03-10 13:09:44
我不明白這個問題,很困惑。誰能告訴我?這是一本python書中的練習。只能使用循環和功能。并根據問題,必須要求用戶輸入數字和寬度。def format(number, width):該函數返回帶有前綴0s的數字的字符串。字符串的大小就是寬度。例如,format(34,4)返回“ 0034”,而format(34,5)返回“ 00034”。如果數字長于寬度,則該函數返回數字的字符串表示形式。例如,format(34,1)返回“ 34”。
查看完整描述

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


查看完整回答
反對 回復 2021-03-30
?
一只斗牛犬

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'


查看完整回答
反對 回復 2021-03-30
  • 2 回答
  • 0 關注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號