31讲最后一题
最后append函数不是是添加在末尾的么,为什么最后输出出来是穿插的额1. 请编写一个程序,将用户输入的字符串重新格式化,使得字母和数字相互分隔(即一个字母一个数字相互间隔)
s = input("请输入测试字符串:")
str09 = []
strAZ = []
# 将数字和字母进行归类存放
for each in s:
if each.isdecimal():
str09.append(each)
else:
strAZ.append(each)
len09 = len(str09)
lenAZ = len(strAZ)
# 如果两个容器的元素个数相差 1 个以上,则不满足重新格式化的条件
if abs(len09 - lenAZ) > 1:
print("字符串中数字和字母的数量不满足重新格式化的条件。")
else:
if len09 > lenAZ:
shorter = strAZ
longer = str09
else:
shorter = str09
longer = strAZ
result = []
for i in range(len(shorter)):
result.append(longer)
result.append(shorter) 这个结果不对吗?
请输入测试字符串:aaa111
['a', '1', 'a', '1', 'a', '1'] 本帖最后由 jackz007 于 2023-2-12 22:05 编辑
s = input("请输入测试字符串:")
str09 , strAZ , strResult = '' , '' , ''
for x in s:
if x . isdigit() : str09 += x
else : strAZ += x
if(abs(len(str09) - len(strAZ))) < 2:
if len(str09) > len(strAZ) : stra , strb = str09 , strAZ
else : stra , strb = strAZ , str09
for i in range(len(stra)) :
strResult += stra
if i < len(strb) : strResult += strb
print(strResult)
else:
print('测试字符串不合格!') isdkz 发表于 2023-2-12 21:45
这个结果不对吗?
结果 是对的!就是 我没想明白原理{:5_100:}
页:
[1]