
文本如上,因为发不了文件,所以大致说一下,里面有男性女性名字,并且都有带胜字和不带的,要求就是要分别写出男女中带胜字名字出现的频率,我自己写了好多遍还是会对女性抛出除数为0的错误,实在是搞不懂到底是读取没成功还是咋了,文件位置如下





你自己看一下吧,随便写的,不一定对
with open('names.txt', 'r', encoding='utf-8') as f:
names = f.readlines()
male_with_sheng = 0
male_without_sheng = 0
female_with_sheng = 0
female_without_sheng = 0
for name in names:
if '胜' in name:
if '男' in name:
male_with_sheng += 1
else:
female_with_sheng += 1
else:
if '男' in name:
male_without_sheng += 1
else:
female_without_sheng += 1
print('男性中带胜字的名字出现的频率为:{:.2%}'.format(male_with_sheng / (male_with_sheng + male_without_sheng)))
print('女性中带胜字的名字出现的频率为:{:.2%}'.format(female_with_sheng / (female_with_sheng + female_without_sheng)))