tiaokacui 发表于 2020-12-29 17:12:32

Python19讲课后作业

# 判断程序是否为回文联,真的回文联判断不出来

def palindrome(string):
    length = len(string)
    last = length - 1
    length //= 2
    for each in range(length):
      if string == string:
            flag = 1
      else:
            flag = 0

    if flag == 1:
      return 1
    else:
      return 0

string = input('请输入一句话:')
if palindrome == 1:
    print('是回文联')
else:
    print('不是回文联')

jackz007 发表于 2020-12-29 17:35:34

本帖最后由 jackz007 于 2020-12-29 19:11 编辑

    for each in range(length):
      if string == string:
            flag = 1
      else:
            flag = 0
            break      # 要添加此句,已经判定不是回文联了,就没有必要继续循环了。
      下面是帮楼主整理的代码,谨供楼主参考
def palindrome(string):
    length = len(string)
    last = length - 1
    length //= 2
    flag = 1
    for each in range(length):
      if string != string:
            flag = 0
            break
    return flag

string = input('请输入一句话:')
if palindrome(string) == 1:
    print('是回文联')
else:
    print('不是回文联')

小古比鱼 发表于 2020-12-29 18:29:10

s = input('请输入一句话:')
print(('' if s == s[::-1] else '不') + '是回文联')

tiaokacui 发表于 2020-12-30 08:12:39

jackz007 发表于 2020-12-29 17:35
下面是帮楼主整理的代码,谨供楼主参考

谢谢你的解答,但是若输入“上海自来水来自海上”还是不能得出“是回联文”

tiaokacui 发表于 2020-12-30 08:54:53

jackz007 发表于 2020-12-29 17:35
下面是帮楼主整理的代码,谨供楼主参考

谢谢大佬,是我最后调用函数错了,已改了

jackz007 发表于 2020-12-30 12:01:00

tiaokacui 发表于 2020-12-30 08:12
谢谢你的解答,但是若输入“上海自来水来自海上”还是不能得出“是回联文”

      你真的用这句话测试了吗?
      运行实况
D:\0002.Exercise\Python>python h.py
请输入一句话:上海自来水来自海上
是回文联

D:\0002.Exercise\Python>
      
页: [1]
查看完整版本: Python19讲课后作业