注册 登录
编程论坛 Python论坛

数字分割的问题,求问。

ilsoviet1917 发布于 2021-08-30 11:10, 1707 次点击
程序代码:
string = input('Entre your str: ')
re = []
for s in string:
    if s.islower():
        re.append(s)
    elif s.isupper():
        re.append(f'UPPER{s}')
    elif s.isdigit():
        re.append(f'0{s}')
    else:
        re.append(s)

print(re)


输入iPhone13输出['i', 'UPPERP', 'h', 'o', 'n', 'e', '01', '03']

如果想输出['i', 'UPPERP', 'h', 'o', 'n', 'e', '013']呢?也就是数字字符串不分开。然后在数字字符串前加个0,用正则表达式是不是比较好。
3 回复
#2
傻眼猫咪2021-08-30 13:36
程序代码:
string = input('Entre your str: ')
arr = list(string)
res = []
sub = ''
for n, i in enumerate(arr):
    if i.isdigit():
        if n < len(arr)-1: sub = sub + i
        else:
            sub = sub + i
            res.append('0'+sub)
    else:
        if sub:
            res.append('0'+sub)
            sub = ''
        if i.isupper(): res.append(f'UPPER{i}')
        else: res.append(i)

print(res)

['i', 'UPPERP', 'h', 'o', 'n', 'e', '013']


[此贴子已经被作者于2021-8-30 16:53编辑过]

#3
ilsoviet19172021-08-30 15:15
回复 2楼 傻眼猫咪
有个问题啊,如果输入ABC123abc,数字就直接消失了。
#4
傻眼猫咪2021-08-30 16:36
回复 3楼 ilsoviet1917
已修改
1