需求
完成字符串的逆序以及统计
设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
打印如下内容:
--------------------------------------------
您输入的字符串: zhongshanshan
长度: 13
逆序后为: nahsnahsgnohz
字符统计结果: z:1 h:3 o:1 n:3 g:1 s:2 a:2
--------------------------------------------
分析
1. 输入字符串(while循环)
2. 字符串长度小于31位,否则提示重新输入
3. 您输入的字符串: ...
4. 长度: ...
5. 逆序后为: ... (切片)
6. 字符统计结果: ...(afsfdsf) a:1 f:3 s:2 d:1
代码
while True:
# 1.输入字符串(while循环)
str = input('请输入字符串:')
# 2.字符串长度小于31位,否则提示重新输入
if len(str) >= 31:
print('不能超过31位,请重新输入')
continue
# 跳出循环
break
print('输入正确')
print("--------------------------------------------")
# 3.您输入的字符串: ...
print('您输入的字符串:%s' % str)
# 4.长度: ...
print('长度:%d' % len(str))
# 5.逆序后为: ... (切片)
newStr = str[::-1]
print('逆序后为:%s' % newStr)
# 6.字符统计结果: ...(afsfadsf) a:1 f:3 s:2 d:1
# 1.字典 保存结果 {}
resultDict = {}
for ele in str:
if ele not in resultDict:
# 2. 如果字典中没有这个a, 把a添加进去 {'a':1}
resultDict[ele] = 1
else:
# 3.字典中有a 将元素个数+1
resultDict[ele] += 1
print('字符统计结果:{}'.format(resultDict))
print("--------------------------------------------")