七、高级变量练习#

字符串逆序统计#

1
2
3
4
5
6
7
8
9
需求:
完成字符串的逆序以及统计
设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
打印如下内容:
您输入的字符串: ...
长度: ...
逆序后为: ...
字符统计结果: ...(afsfdsf)  a:1  f:3 s:2 d:1
zhangsanlisi

分析:

1
2
3
4
5
6
7
8
分析
1.输入字符串(while循环)
2.字符串长度小于31位,否则提示重新输入
3.您输入的字符串: ...
4.长度: ...
5.逆序后为: ...  (切片)
6.字符统计结果: ...(afsfdsf)  a:1  f:3 s:2 d:1
 safljdsfl  s:2 a:1 f:2 l:2 j:1 d:1

代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
while True:
    # 1.输入字符串(while循环)
    str = input('请输入字符串')
    # 2.字符串长度小于31位,否则提示重新输入
    if len(str)>=31:
        print('不能超过31位,请重新输入')
        continue
    # 跳出循环
    break
print('输入正确')
# 3.您输入的字符串: ...
print('您输入的字符串:%s'%str)
# 4.长度: ...
print('长度:%d'%len(str))
# 5.逆序后为: ...  (切片)
# hello  olleh
newStr = str[::-1]
# print('逆序后为:%s'%newStr)
# 6.字符统计结果: ...(afsfadsf)  a:1  f:3 s:2 d:1
# 1.字典 保存结果  {}
resultDict = {}
# 2. 如果字典中没有这个a  a添加进去 {'a':1}
for ele in str:
    # 3.字典中有a 将元素个数+1
    if ele not in resultDict:
        resultDict[ele] = 1
    else:
        resultDict[ele] += 1
print('字符统计结果:{}'.format(resultDict))