为什么 Python Palindrome 会失败

import sys


for line in sys.stdin:

    if line == line[::-1]:

        print('true')

    else :

        print('false')    

我输入阿巴


但得到了错误


我打印 line[::-1] 它是 'abba'


为什么结果是假的?


跃然一笑
浏览 124回答 2
2回答

慕少森

当您使用 stdin 输入代码时,字符串有一个转义字符 \n ,表示换行。最好使用输入语句。如果你想保持这种状态,这就是你修复它的方法。for line in sys.stdin:line = line.strip()if line == line[::-1]:    print('True')else:    print('False')

慕后森

基本上空格和 \n 与您的字符串变量连接,这就是它不匹配的原因,使用 line.strip() 函数,该函数将删除字符串中的所有空格。导入系统for line in sys.stdin:    line = line.strip()    if line == line[::-1]:        print('true')    else :        print('false')   
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python