gpt4 book ai didi

python - 查找非空字符串的百分比

转载 作者:行者123 更新时间:2023-11-28 21:21:34 25 4
gpt4 key购买 nike

我正在尝试用 Python 编写代码,查找给定字符串中字母表的百分比。例如,

percent("ab", "aabccdef") 应该给出 [("a", 25), ("b", 13)] 因为 'a' 在长度为 8 的字符串中出现了两次,所以它的百分比是 round(2/8),即 25。同样,'b' 只出现一次。所以它的百分比是 round(1/8),即 13。

这是我的代码。有人可以帮我调试吗?

def Percent(alpha, string):
y = [e for e in string if e == alpha]
x = len(y)
return (alpha, round((x / len(string) * 100)))

最佳答案

你很接近,但关键区别在于你需要为 alpha 中的每个字符 c 计算它:

def percent(alpha, string):
results = []
for c in alpha:
y = [e for e in string if e == c]
x = len(y)
results.append((c, round((float(x) / len(string)*100))))
return results

在您的代码中,您正在比较 e == alphaalpha 是字符串 abe是字符串中的单个字符。这不会给您想要的结果。

此外,如果您希望正确计算百分比,则需要将 x 转换为 float。在 Python 中,如果您编写 3/4,您将得到 0 而不是 0.75。为防止出现这种情况,您需要将至少一个参数转换为 float,这可以通过调用 float() 来完成。所以你也可以写 x/float(len(string)*100) 来确保你不会得到一个整数作为结果。

关于python - 查找非空字符串的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21172770/

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