编写一个Python程序,从控制台输入一个宝包含整数的字符串,要求将字符串中的数字格式化为长度为10的格式,例如456格式化为0000000456,注意不能使用正则表达式,需要用字典格式化字符串

方法1

s = input("输入一个包含整数的字符串:")
ss = s.split(" ")
numbers = {}
tpl = ""
i = 0
for v in ss:
    if v.isdigit():
        numbers["number{}".format(i)] = int(v)
        tpl+="{number"+str(i)+":010}"
        i+=1
    else:
        tpl += " " + v + " "
print(tpl)
print(tpl.format_map(numbers))
print(numbers)

方法2

s = input("请输入一个包含整数的字符串:")
dict = {}
index = 0
ss = ""   #用来存储模板字符串
number = ""    #用来存储数字
for i in range(len(s)):
    c = s[i]
    if ord(c)in range(48,58):  #判断是否为数字型字符,ord函数用来将字符转换为Ascii码
        number += c
    else:
        if len(number) > 0:
            ss += "{{number{}:010}}".format(index)
            dict["number" + str(index)] = int(number) #为字典赋值
            number = ""
            index += 1
        ss += c
#处理以数字结尾的情况,因为最后一次循环之后,并不会执行上述的else语句。
# 所以需要为其单独添加一个用来添加键值对的语句
if len(number) > 0:
    ss += "{{number{}:010}}".format(index)
    dict["number" + str(index)] = int(number)
print(ss)
print(ss.format_map(dict))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值