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)
答案 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)