python 简单题目练手【详解版】【2】
·

这题和我之前写的一差不多,要注意的是题目中
这个怎么用?
1.import jieba 直接在开头用就行了
2.把输入套入 words = jieba.lcut()
直接上代码(!注意不用排序了,题目没要求):
import jieba
names = {
"曹操", "刘备", "孙权", "诸葛亮", "孔明", "关羽", "云长", "张飞", "翼德", "赵云", "子龙", "马超", "孟起", "黄忠", "汉升", "周瑜", "公瑾","吕布","玄德", "华雄", "颜良", "文丑", "周郎", "仲谋", "许褚", "夏侯渊"
}
s = input().strip()
word_list = jieba.lcut(s)
name_count = {}
for word in word_list:
if word in names:
if word in name_count:
name_count[word] += 1
else:
name_count[word] = 1
for name,count in name_count.items():
print(f"{name}: {count}")

这道题不会写:
问题:怎么把原字母替换成对应字母,怎么按要求输出?
(只替换大写字母)替换公式:replace_char = chr(ord('A') + ord('Z') - ord(c)
这里c指变量c,里面装着字符,不用加 ‘’ ,至于A 和 Z 是固定字母,要加引号
代码:
s = input().strip()
result = []
for c in s:
if 'A' <= c <= 'Z':
replace_char = chr(ord('A') + ord('Z') - ord(c))
result.append(replace_char)
else:
result.append(c)
print(''.join(result))
还有输出为啥用.join():


输入都不知道怎么输,用循环的方法
代码:
provinces = set()
while True:
p = input().strip()
if p == "":
break
provinces.add(p)
count = len(provinces)
print(f"来自于{count}个省份。")
为啥要用集合?

更多推荐


所有评论(0)