Teggi 发表于 2020-4-24 15:44:12

《零基础学习python》第19讲动动手第0题

本帖最后由 Teggi 于 2020-4-24 16:09 编辑

def Plalindrome(text):
    length = len(text)
    for i in range(length // 2):
      if text == text[-(i+1)]:
            return True
      else:
            return False

text = input('Please type')
if Plalindrome(text) == True:
    print('It\'s a plalindrome couplet')
else:
    print('It\'s not a plalindrome couplet')

我像这样写了,但是如果输入首位相同的字符(比如:onio),也会被识别为回文联,请问这是为什么,应该如何解决{:10_266:}

wuqramy 发表于 2020-4-24 15:49:04

因为一旦有前后位置的字母相等,它就返回True,退出函数

永恒的蓝色梦想 发表于 2020-4-24 15:50:03

本帖最后由 永恒的蓝色梦想 于 2020-4-24 16:23 编辑

def Plalindrome(text):
    length = len(text)
    for i in range(length // 2):
      if text != text[~i]:
            return False

趁着年轻去拼搏 发表于 2020-4-24 15:51:09

def Plalindrome(text):
    length = len(text)
    for i in range(length // 2):
      if text != text[-(i+1)]:
            return False

Teggi 发表于 2020-4-24 16:09:20

懂了,感谢大家

永恒的蓝色梦想 发表于 2020-4-24 16:10:25

Teggi 发表于 2020-4-24 16:09
懂了,感谢大家

那就选个最佳答案吧~{:10_297:}

wuqramy 发表于 2020-4-24 16:13:23

永恒的蓝色梦想 发表于 2020-4-24 16:10
那就选个最佳答案吧~

果然不是你{:10_250:}

Teggi 发表于 2020-4-26 17:56:05

永恒的蓝色梦想 发表于 2020-4-24 16:10
那就选个最佳答案吧~

{:10_299:}{:10_259:}
页: [1]
查看完整版本: 《零基础学习python》第19讲动动手第0题