问一个关于字符串操作的问题
str = input('str:')
re = []
for s in str:
if s.isdigit():
re.append(f'0{dicts}')
要求输入一个数字字符串,输出的时候在这个字符串前加一个0。
比如输入123,输出0123
但是我用上面的办法输出的是010203,请问怎么解决啊? str = input('str:')
re = ''
f=1
for s in str:
if s.isdigit():
if f:
re+=f"0{s}"
f=0
else:
re+=s
else:
re+=s
f=1
print(re)
s = input('str:')
if s.isdigit():
print(f'0{s}') 字符串也是可迭代对象,用 for 循环遍历的话会一个字符一个字符的遍历
加一个列表放字符串就可以了,这样还可以给其他有需要的字符串加 0 ,如下:
str = input('str:')
str_lst =
re = []
for s in str_lst:
if s.isdigit():
re.append(f'0{s}')
print(re)
运行结果:
str:1123
['01123']
最后提醒一些,变量名最好别和模块名重复,像 re 是正则表达式的模块,你列表的变量名最好换成其他的 青出于蓝 发表于 2021-8-27 11:15
这个看不太懂,能解释一下吗?最后返回的是个字符串是吧? 你们想的太复杂了
python支持字符串拼接
str = input('str:')
i= '0'
print(i +str) 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)
这样出来还是010203 叼辣条闯世界 发表于 2021-8-29 10:29
你们想的太复杂了
python支持字符串拼接
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)
这样出来还是010203 本帖最后由 叼辣条闯世界 于 2021-8-30 11:34 编辑
ilsoviet1917 发表于 2021-8-30 09:58
string = input('Entre your str: ')
re = []
直接用加号啊
string = input('Entre your str: ')
i = '0'
string = i +string
print(string) 叼辣条闯世界 发表于 2021-8-30 11:25
直接用加号啊
没用的,你把你的思路带到我的那个代码里就不行了。
页:
[1]