鱼C论坛

 找回密码
 立即注册
查看: 1345|回复: 5

[已解决]python 19讲课后作业

[复制链接]
发表于 2019-8-10 17:37:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
运行显示语法错误...
不造错哪了,咋改...
求大佬指点,阿里嘎多!
最佳答案
2019-8-10 19:59:48
本帖最后由 jackz007 于 2019-8-10 20:21 编辑

       判断回文联不用那么麻烦吧?
  1. def huiwenlian(str):
  2.     if str == str[::-1]:
  3.         print('是回文联')
  4.     else:
  5.         print('不是回文联')
  6. str1 = input('输入一句话:')
  7. huiwenlian(str1)
复制代码


       下面的代码复杂些:
  1. def huiwenlian(str):
  2.     f = True
  3.     for i in range(len(str) / 2):
  4.         if str[i] != str[-1 - i]:
  5.             f = False
  6.             break
  7.     if f:
  8.         print('是回文联')
  9.     else:
  10.         print('不是回文联')
  11. str1 = input('输入一句话:')
  12. huiwenlian(str1)
复制代码

QQ截图20190810173433.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-10 17:40:17 | 显示全部楼层
把第 4 行的 . 去掉
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-10 17:46:43 | 显示全部楼层
去掉错误提示前面那个多余的 . 符号。
另外你这个程序用每个字符去跟最后一个比,没法正确得到结果吧?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-10 17:49:13 | 显示全部楼层
本帖最后由 zltzlt 于 2019-8-10 19:21 编辑

你的回文联程序应该这样写:
  1. def huiwenlian(string):
  2.     if len(string) == 1:
  3.         print("是回文联!")
  4.     else:
  5.         if len(string) == 2:
  6.             if string[0] == string[-1]:
  7.                 print("是回文联!")
  8.             else:
  9.                 print("不是回文联!")
  10.             return
  11.         if string[0] == string[-1]:
  12.             huiwenlian(string[1:-1])
  13.         else:
  14.             print("不是回文联!")


  15. huiwenlian(input("请输入:"))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-10 18:06:40 | 显示全部楼层
chordblue 发表于 2019-8-10 17:46
去掉错误提示前面那个多余的 . 符号。
另外你这个程序用每个字符去跟最后一个比,没法正确得到结果吧?

你说得对,我的字符串没缩短
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-10 19:59:48 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-8-10 20:21 编辑

       判断回文联不用那么麻烦吧?
  1. def huiwenlian(str):
  2.     if str == str[::-1]:
  3.         print('是回文联')
  4.     else:
  5.         print('不是回文联')
  6. str1 = input('输入一句话:')
  7. huiwenlian(str1)
复制代码


       下面的代码复杂些:
  1. def huiwenlian(str):
  2.     f = True
  3.     for i in range(len(str) / 2):
  4.         if str[i] != str[-1 - i]:
  5.             f = False
  6.             break
  7.     if f:
  8.         print('是回文联')
  9.     else:
  10.         print('不是回文联')
  11. str1 = input('输入一句话:')
  12. huiwenlian(str1)
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-30 05:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表