漏气的嘟嘟君 发表于 2020-6-16 09:44:29

判断回联文的两种方法

第一种方法,通过循环对比首尾字符来判断:

while True:

        defmyfun(string):
                lenth = len(string)
                i = 0
                count = 0
                      
                for i in range(lenth//2):
                if string == string:
                        count += 1
               
                if count == int(lenth/2):
                        print("是回联文")
                else:
                        print("不是回联文")

        s = input("请输入一句话:")
        while s.isspace():
                print("输入不能为空")
                s = input("请重新输入:")
       
        myfun(s)

第二种方法,通过创建两个列表想比较:

def myfun(s):
        list1 = list(s)
        list2 = list(reversed(s))
        if list1 == list2:
                print("是回联文")
        else:
                print("不是回联文")

string = input("请输入一句话")
while string.isspace():
        print("输入不能为空!")
        string = input("请重新输入:")
myfun(string)

wp231957 发表于 2020-6-16 09:53:05

s="Abcdde"
if s==s[::-1] 回文

漏气的嘟嘟君 发表于 2020-6-16 10:33:44

wp231957 发表于 2020-6-16 09:53
s="Abcdde"
if s==s[::-1] 回文

好方法,太简便了,学习到了{:5_92:}

jackz007 发表于 2020-6-16 10:42:59

用递归函数的方法:
#-*-coding:gbk-*-

def myfun(s):
    if len(s) > 1 :
      if s == s[-1] :
            return myfun(s)
      else :
            return False
    else :
      return True

while True :
    x = input('请输入一个字符串 : ') . strip()
    if x :
      if myfun(x) :
            print(x , '是回文联')
      else :
            print(x , '不是回文联')
      print()
    else :
      break
页: [1]
查看完整版本: 判断回联文的两种方法