0

我正在使用嵌套的 for 循环来检查子字符串“f”是否存在于给定字符串的排列之一中作为以下函数的参数。

   import itertools

   def permute(f,string):
        permutation_list = []
        permutations = itertools.permutations(string)
        for item in permutations:
           permutation_list.append(''.join(item))
           for item in permutation_list:                  
               if f in item:                         # unindentation error
                   print "YES"
                   break
               else:
                   print "NO"
                   break  



   if __name__ == "__main__":
   t1=input()
   for i in range(0,t1):
        a=raw_input()
        b=raw_input()
        c=a+b
        print c
        t2=input()
        f=""
        for j in range(0,t2):
           d=raw_input()
           f=f+d
        permute(f,c)

它在第 10 行给出了取消缩进错误

4

1 回答 1

2

几种可能性:

  1. 您在 3 个空格处有所有其他缩进,但您突出显示的行缩进 4 个空格。
  2. 您有混合制表符和空格。
  3. 你没有从第一列开始。

一个好的 Python 感知文本编辑器应该为您突出显示这些并提供快速修复。

这是一个固定版本:

import itertools

def permute(f,string):
    permutation_list = []
    permutations = itertools.permutations(string)
    for item in permutations:
        permutation_list.append(''.join(item))
        for item in permutation_list:                  
            if f in item:                         # unindentation error
                print "YES"
                break
            else:
                print "NO"
                break  

if __name__ == "__main__":
    t1=input()
    for i in range(0,t1):
        a=raw_input()
        b=raw_input()
        c=a+b
        print c
        t2=input()
        f=""
        for j in range(0,t2):
            d=raw_input()
            f=f+d
        permute(f,c)
于 2013-05-12T15:40:46.897 回答