gpt4 book ai didi

python - 将字母表定义为任何字母字符串,以便稍后用于检查单词是否具有一定数量的字符

转载 作者:太空狗 更新时间:2023-10-30 00:24:48 25 4
gpt4 key购买 nike

这是我目前所拥有的:

alphabet = "a" or "b" or "c" or "d" or "e" or "f" or \
"g" or "h" or "i" or "j" or "k" or "l" or \
"m" or "n" or "o" or "p" or "q" or "r" or \
"s" or "t" or "u" or "v" or "w" or "x" or \
"y" or "z"

letter_word_3 = any(alphabet + alphabet + alphabet)

print("Testing: ice")

if "ice" == letter_word_3:

print("Worked!")

else:

print("Didn't work")

print(letter_word_3) # just to see

我希望最终能够扫描文档并让它挑选出 3 个字母的单词,但我无法让这部分工作。我是一般编码的新手,python 是我学习的第一门语言,所以我可能犯了一个很大的愚蠢错误。

最佳答案

你有一些好主意,但这种函数组合实际上是为函数式语言保留的(即像这样的语法在 Haskell 中工作得很好!)

在 Python 中,"a"or "b"or ... 的计算结果只有一个值,它不是您尝试使用的函数。所有值(value)观都具有“真实性”。如果所有字符串不为空(例如 bool("a") == True,但 bool("") == False),则所有字符串都是“真实的”。 or 在这里没有改变任何东西,因为第一个值是“truthy”,所以 alphabet 的计算结果为 True(更具体地说是 “一个”

letter_word_3 然后尝试执行 any("a"+ "a"+ "a"),它总是 True(因为"a" 为真)


您应该做的是检查每个单词的长度,然后检查每个字母以确保它在 "abcdefghijklmnopqrtuvwxyz" 中。等一下,你注意到我刚才介绍的错误了吗?再次阅读该字符串。我忘记了一个 “s”,你也可以!幸运的是,Python 的 stdlib 在方便您使用的地方提供了这个字符串。

from string import ascii_lowercase  # a-z lowercase.

def is_three_letter_word(word):
if len(word) == 3:
if all(ch in ascii_lowercase for ch in word):
return True
return False

# or more concisely:
# def is_three_letter_word(word):
# return len(word) == 3 and all(ch in ascii_lowercase for ch in word)

关于python - 将字母表定义为任何字母字符串,以便稍后用于检查单词是否具有一定数量的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45663768/

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