为了账号安全,请及时绑定邮箱和手机立即绑定

python 字符串列表中有多少回文

python 字符串列表中有多少回文

翻阅古今 2022-06-22 18:17:11
我正在尝试输入一个单词序列并计算序列中有多少回文或非回文(唯一单词),但不知道我做错了什么。我的循环不计算列表的元素,而是计算我相信的整个列表。user_input = input('Enter word sequence:')string = user_input.split()temp = [i[::-1] for i in string]unique = 0is_palindrome = 0for i in temp:   if i in temp == string:      is_palindrome += 1   else:       unique += 1print('There are', is_palindrome, 'Palindromes, and', unique, 'unique words')如果有人可以帮助我,我将不胜感激。
查看完整描述

2 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

您拆分输入并反转每个单词。到目前为止,您的实现非常好,但在下面,您的实现是错误的。


for i in temp:


   if i in temp == string:

      is_palindrome += 1

您正在使用 temp ,但这行代码if i in temp == string不是正确的实现,因为您正在比较if i in temp哪个返回布尔值和string哪个是列表。您需要比较temp列表的索引和string列表的索引是否匹配。如果它们匹配,它们是回文。您可以按如下方式实施。


for i in range(len(temp)):

    if temp[i] == string[i]:

        palindrome += 1

    else:

        unique += 1


查看完整回答
反对 回复 2022-06-22
?
LEATH

TA贡献1936条经验 获得超6个赞

由于阅读单词似乎不是问题的核心,让我们跳过这一步并明确声明一个单词列表,然后计算与倒数一致的单词数:


my_words = [ 'abccba', '101101', 'joy', 'bar', 'john', 'anna' ]

print( [ word == word[::-1] for word in my_words ].count(True) )


查看完整回答
反对 回复 2022-06-22
  • 2 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信