简单语法错误

时间:2016-11-04 11:58:41

标签: python syntax

Python说它在这一行中有语法错误“elif(i%7 == 0)或str.count(str(i),'7')> 0:”我无法弄明白。 我是Python的新手,所以它必须简单。

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)

3 个答案:

答案 0 :(得分:1)

问题在于您的身份:

确保“elif”与您的“if”和“else”语句一致。 Python对缩进和空格很敏感。

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 :(得分:0)

添加适当的缩进:

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)

答案 2 :(得分:0)

这是一个改进的解决方案:

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)