gpt4 book ai didi

Python 回文帮助 : Count palindromes in a sentence

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

我用 python 创建了一个程序,它基本上告诉用户输入一个单词,并告诉他们它是否是回文。

我的程序:

def palindrome(word):
return word == word[::-1]

word = input("Enter a word: ")
word2 = word.lower()

if word2 == "":
print("You failed to input a word")
elif palindrome(word2) == True:
print(word2,"is a palindrome!")
else:
print(word2,"is not a palindrome!")

我需要帮助修改我的程序,以便它允许用户输入一个句子并计算句子中回文单词的数量。当我执行程序时,我希望它输出句子中的回文。

我已经为此苦苦挣扎了好几天,但我似乎不知道从哪里开始。非常感谢您的帮助。另外,我需要修改上面的程序,而不是制作一个完全不同的程序。

最佳答案

您需要将字符串拆分为单词,然后使用列表比较检查每个单词是否是回文,列表的长度也会为您提供计数:

def palindrome(word):
return word == word[::-1]

# split sentence into words and filter out the non palindromes
sentence = [w for w in input("Enter a sentence: ").split() if palindrome(w)]

print(" There are {} palindromes in your sentence\n.".format(len(sentence)))
# print each palindrome from our list
for pal in sentence:
print("{} is a palindrome".format(pal))

如果您想模仿自己的代码,请在迭代单词列表时保留计数,如果我们有回文,则增加计数:

sentence = input("Enter a sentence: ").split()

count = 0
for w in sentence:
if palindrome(w):
count += 1
print("{} is a palindrome.")
else:
print("{} is not a palindrome.")
print(" There are {} palindromes in your sentence\n.".format(count))

要捕获单个非字母:

def palindrome(word):
if len(word) > 1:
return word == word[::-1]
return word.isalpha()

关于Python 回文帮助 : Count palindromes in a sentence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33190390/

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