gpt4 book ai didi

python - 在文本文件中打印字符百分比

转载 作者:行者123 更新时间:2023-12-01 03:01:52 24 4
gpt4 key购买 nike

我刚刚编写了一个在文本文件中打印字符百分比的函数。但是,我遇到了一个问题。我的程序将大写字符计算为不同的字符,并计算空格。这就是为什么结果是错误的。我该如何解决这个问题?

def count_char(text, char):
count = 0
for character in text:
if character == char:
count += 1
return count

filename = input("Enter the file name: ")
with open(filename) as file:
text = file.read()

for char in "abcdefghijklmnopqrstuvwxyz":
perc = 100 * count_char(text, char) / len(text)
print("{0} - {1}%".format(char, round(perc, 2)))

最佳答案

您应该尝试使用 text.lower() 将文本设为小写。然后为了避免计算空格,您应该使用以下命令将字符串拆分为列表: text.lower().split() 。这应该做:

def count_char(text, char):
count = 0
for word in text.lower().split(): # this iterates returning every word in the text
for character in word: # this iterates returning every character in each word
if character == char:
count += 1
return count

filename = input("Enter the file name: ")
with open(filename) as file:
text = file.read()

totalChars = sum([len(i) for i in text.lower().split()]

for char in "abcdefghijklmnopqrstuvwxyz":
perc = 100 * count_char(text, char) / totalChars
print("{0} - {1}%".format(char, round(perc, 2)))

注意perc中的变化定义,sum([len(i) for i in text.lower().split()]返回单词列表中的字符数 len(text)还计算空格。

关于python - 在文本文件中打印字符百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43725169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com