鱼C论坛

 找回密码
 立即注册
查看: 2113|回复: 4

[已解决]判断输入字符串参数是否是'回文联'

[复制链接]
发表于 2022-7-25 17:49:06 | 显示全部楼层 |阅读模式

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

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

x
def fun1(var):
    length=len(var)
    i=0
    last=length-1
    b=0
    while (i<length):
        if var[i]==var[last]:
            ++b
        ++i
        last-=1
    return b

a=input('请输入一句话:')
if fun1(a)==len(a):
    print('是回文联')
else:
    print('不是回文联')



结果显示:
请输入一句话:上海上
Traceback (most recent call last):
  File "C:/Users/14127/Desktop/Python学习/课后习题/回文联判断函数.py", line 14, in <module>
    if fun1(a)==len(a):
  File "C:/Users/14127/Desktop/Python学习/课后习题/回文联判断函数.py", line 7, in fun1
    if var[i]==var[last]:
IndexError: string index out of range


这是为什么?,按理说索引应该没有超出范围啊~,求助
最佳答案
2022-7-25 17:57:22
def fun1(var):
    length=len(var)
    i=0
    last=length-1
    b=0
    while (i<length):
        
        if var[i]==var[last]:
            
            b+=1
           
        i+=1
        last-=1
    return b

a=input('请输入一句话:')
if fun1(a)==len(a):
    print('是回文联')
else:
    print('不是回文联')
++是c的语法,python不适用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-25 17:55:42 | 显示全部楼层
本帖最后由 临时号 于 2022-7-25 17:58 编辑

++b和++i是无用代码
>>> i=0
>>> b=0
>>> ++i
0
>>> ++b
0
>>> i
0
>>> b
0
>>>
所以应把代码改为:
def fun1(var):
    length=len(var)
    i=0
    last=length-1
    b=0
    while (i<length):
        if var[i]==var[last]:
            b += 1
        i += 1
        last-=1
    return b

a=input('请输入一句话:')
if fun1(a)==len(a):
    print('是回文联')
else:
    print('不是回文联')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-7-25 17:57:22 | 显示全部楼层    本楼为最佳答案   
def fun1(var):
    length=len(var)
    i=0
    last=length-1
    b=0
    while (i<length):
        
        if var[i]==var[last]:
            
            b+=1
           
        i+=1
        last-=1
    return b

a=input('请输入一句话:')
if fun1(a)==len(a):
    print('是回文联')
else:
    print('不是回文联')
++是c的语法,python不适用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-7-25 18:01:02 | 显示全部楼层
临时号 发表于 2022-7-25 17:55
++b和++i是无用代码

所以应把代码改为:

原来如此,我学混了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-25 18:01:50 | 显示全部楼层
青出于蓝 发表于 2022-7-25 17:57
++是c的语法,python不适用

好的,感谢帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 11:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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