判断输入字符串参数是否是'回文联'
def fun1(var):length=len(var)
i=0
last=length-1
b=0
while (i<length):
if var==var:
++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==var:
IndexError: string index out of range
这是为什么?,按理说索引应该没有超出范围啊~,求助
本帖最后由 临时号 于 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==var:
b += 1
i += 1
last-=1
return b
a=input('请输入一句话:')
if fun1(a)==len(a):
print('是回文联')
else:
print('不是回文联') def fun1(var):
length=len(var)
i=0
last=length-1
b=0
while (i<length):
if var==var:
b+=1
i+=1
last-=1
return b
a=input('请输入一句话:')
if fun1(a)==len(a):
print('是回文联')
else:
print('不是回文联')
++是c的语法,python不适用 临时号 发表于 2022-7-25 17:55
++b和++i是无用代码
所以应把代码改为:
原来如此,我学混了。。。 青出于蓝 发表于 2022-7-25 17:57
++是c的语法,python不适用
好的,感谢帮助
页:
[1]