gpt4 book ai didi

python - 为什么是 str.count ('' ) ≠ (from str.count ('A' ) + str.count ('B' ) + ... + str.count ('Z' ))

转载 作者:行者123 更新时间:2023-11-28 20:50:14 28 4
gpt4 key购买 nike

如果字符串(短语)中只有元音,它(对我而言)说True;否则说 False。我不明白为什么它总是返回 False,因为 (x >= x) 总是返回 True。我感谢任何人检查此查询的解决方案。

(str) -> bool

def valid_letter_sequence(abc):

valid_letters = abc.count('A') + abc.count('E') + abc.count('I') + abc.count('O') + abc.count('U')
counted_letters = abc.count('')
if valid_letters >= counted_letters:
return True
else:
return False

最佳答案

观察:

>>> 'abc'.count('')
4

将空字符串传递给 count 会得到比字符串长度多一个的字符串(因为它会在两端以及每对字符之间找到空字符串)。为什么不直接使用 len(abc)

更一般地说,有更好的方法来完成您正在做的事情。像这样:

def valid_letter_sequence(abc):
return not (set(abc) - set('AEIOU'))

关于python - 为什么是 str.count ('' ) ≠ (from str.count ('A' ) + str.count ('B' ) + ... + str.count ('Z' )),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12908319/

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