Simple Syntax Error
本问题已经有最佳答案,请猛点这里访问。
Python说它在这一行中有语法错误"elif(i%7 == 0)或str.count(str(i),'7')> 0:"我无法弄明白。
我是Python新手所以它必须是简单的东西。
1 2 3 4 5 6 7 8 9 10 11 | k=int(input("enter the value for k:")) n=int(input("enter the value for n:")) if k>=1 and k<=9: for i in range(1,n+1): if (i%7==0) and str.count(str(i),'7')>0: print("boom-boom!") elif (i%7==0) or str.count(str(i),'7')>0: print("boom") else: print(i) |
问题在于您的身份:
确保"elif"与"if"以及"else"语句一致。
Python对缩进和空格很敏感。
1 2 3 4 5 6 | if (i%7==0) and str.count(str(i),'7')>0: print("boom-boom!") elif (i%7==0) or str.count(str(i),'7')>0: print("boom") else: print(i) |
这是一个改进的解决方案:
1 2 3 4 5 6 7 8 9 10 11 12 | k = int(input("enter the value for k:")) n = int(input("enter the value for n:")) if 1 <= k <= 9: for i in range(1, n + 1): text = str(i) if i % 7 == 0 and text.count('7'): print("boom-boom!") elif i % 7 == 0 or text.count('7'): print("boom") else: print(i) |
添加适当的缩进:
1 2 3 4 5 6 7 8 9 10 11 | k=int(input("enter the value for k:")) n=int(input("enter the value for n:")) if k>=1 and k<=9: for i in range(1,n+1): if (i%7==0) and str.count(str(i),'7')>0: print("boom-boom!") elif (i%7==0) or str.count(str(i),'7')>0: print("boom") else: print(i) |