python初学者遇到的基础问题

这个代码原本目的是输入一句话后,输出每个单词出现次数,但现在输出每个字母出现次数,麻烦看一下,怎么改,谢谢

Str = input("请输入一串字符:")
resoult = {}  # 定义一个空字典
for i in Str:  # 遍历输入的字符串,以键值对的方式存储在字典中
    resoult[i] = Str.count(i)  
for key in resoult:  # 遍历字典,格式化输出结果
    print(f'"{key}":{resoult[key]}次')


Str = input("请输入一串字符:")
Str = Str.split()
resoult = {}  # 定义一个空字典

for i in Str:  # 遍历输入的字符串,以键值对的方式存储在字典中
    resoult[i] = Str.count(i)

for key in resoult:  # 遍历字典,格式化输出结果
    print(f'"{key}":{resoult[key]}次')
#qwer sdfsd wqe qwer dfdf df df dfdf gg ds

img

最后的"改一下

Str = input("请输入一串字符:")
resoult = {}  # 定义一个空字典
for i in Str:  # 遍历输入的字符串,以键值对的方式存储在字典中
    resoult[i] = Str.count(i)  
for key in resoult:  # 遍历字典,格式化输出结果
    print(f"{key}:{resoult[key]}次")
 

1、把print和str改为英文输入
2、把最后一行的’改为〞

如果单词是以空格分隔的话,在输入的时候使用split分割成单词的列表就可以了

Str = input().split()

#输入字符串,以空格隔开
Str = input().split()
resoult = {}  # 定义一个空字典
for i in Str:  # 遍历输入的字符串,以键值对的方式存储在字典中
    resoult[i] = Str.count(i)  
for key in resoult:  # 遍历字典,格式化输出结果
    print(f"{key}:{resoult[key]}  次数") #格式化输出,此时用双引号

img


Str = input("请输入一串字符:")
resoult = {}  # 定义一个空字典
for i in Str.split(' '):  # 遍历输入的字符串,这里以空格切分,也可根据其他方式修改split即可
    if i in resoult:
        resoult[i] +=1
    else:
        resoult[i] = 1  
for key in resoult:  # 遍历字典,格式化输出结果
    print(f'"{key}":{resoult[key]}次')
import re

Str = input("请输入一串字符:")
resoult = {}  # 定义一个空字典
for i in re.split(' |,|\.', Str):  # 遍历输入的字符串,以键值对的方式存储在字典中
    resoult[i] = Str.count(i)
for key in resoult:  # 遍历字典,格式化输出结果
    print(f'"{key}":{resoult[key]}次')