当我尝试插入while循环时,为什么会出现错误?

时间:2017-06-23 14:08:47

标签: python python-3.x

这是我试图解决的问题:

  

向用户询问字符串并打印出该字符串是否为回文。 (回文是一个向前和向后读取相同的字符串。)

我写的代码是

print('Please type in one word which you want to check!')
num=input()

if (int(len(num))%2)==0:
    for i in range(int(len(num)/2)):
        if num[i]==num[-(i+1)]:
            if num[int((len(num)/2)-1)]==num[-(i+1)]:
                print('Yes the word is palidrome.')
                break
            else:
                pass
        else:
            print('No. The word is not palindrome.')
            break

elif (int(len(num))%2)!=0:
    for i in range(int((len(num)-1)/2)):
        if num[i]==num[-(i+1)]:
            if num[int(((len(num)-1)/2)-1)]==num[-(i+1)]:
                print('Yes the word is palidrome.')
                break
            else:
                pass
        else:
            print('No. The word is not palindrome.')
            break

代码工作正常。

问题是我每次想要查看单词是否是回文时都必须重新启动Shell。所以我认为使用while循环会很酷。

我按如下方式更改了代码(只需编写while True并留下一些空格,如下所示):

while True:
  print('Please type in one word which you want to check!')
  num=input()

  if (int(len(num))%2)==0:
    for i in range(int(len(num)/2)):
        if num[i]==num[-(i+1)]:
            if num[int((len(num)/2)-1)]==num[-(i+1)]:
                print('Yes the word is palidrome.')
                break
            else:
                pass
        else:
            print('No. The word is not palindrome.')
            break

  elif (int(len(num))%2)!=0:
    for i in range(int((len(num)-1)/2)):
        if num[i]==num[-(i+1)]:
            if num[int(((len(num)-1)/2)-1)]==num[-(i+1)]:
                print('Yes the word is palidrome.')
                break
            else:
                pass
        else:
            print('No. The word is not palindrome.')
            break

Python显示:

  

缩进中使用制表符和空格不一致

为什么我得到这个以及如何修复它?

1 个答案:

答案 0 :(得分:1)

  

缩进中使用制表符和空格不一致

这正是它所说的。您的源文件中有混合选项卡和空格。您只能在每个Python脚本中使用 一个

尝试在此处寻找解决方案:How to fix python indentation