需求
完成字符串的逆序以及统计
设计一个程序,要求只能输入长度低于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# 跳出循环breakprint('输入正确')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] = 1else:# 3.字典中有a 将元素个数+1resultDict[ele] += 1print('字符统计结果:{}'.format(resultDict))print("--------------------------------------------")
