关于python:简单语法错误

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)