我编写了一个函数,其中使用了if-else梯形图,我编写了两个版本,在第一个版本中没有错误,但在第二个版本中,我遇到了一个错误,尽管两个版本执行相同的任务(使用python完成)
代码的第一版(无错误)
def caught_speeding(speed,is_birthday):
if(speed>60 and speed<=80):
if(is_birthday==True and speed<=65):
print('no ticket')
else:
print('small ticket')
elif(speed>80):
if(is_birthday==True and speed<=85):
print('no ticket')
else:
print('big ticket')
else:
print('no ticket')
代码第二版(错误)
def caught_speeding(speed,is_birthday):
if(speed>60 and speed<=80):
if(is_birthday==True and speed<=65):
print('no ticket')
else:
print('small ticket')
else:
if(speed>80):
if(is_birthday==True and speed<=85):
print('no ticket')
else:
print('big ticket')
else:
print('no ticket')
在执行第二个代码时打印的错误是:
File "<ipython-input-45-0ed6a5391a7f>", line 13
else:
^
SyntaxError: invalid syntax
我需要对“elif”部分采取行动
你的逻辑有问题^python中的{}语句可以独立,可以用
elif
扩展,也可以用else
结束。你已经结束了if(speed>60 and speed<=80):
在第2行,而else
在第7行逻辑也不同,因为第一个代码段有一个条件
speed > 80
,而else
覆盖了speed <= 60
。第二个代码段else
涵盖了speed > 80
或speed <= 60
,因此第二个else
没有任何意义,只是一个语法错误If是“main”条件语句,但elif使您有机会捕捉到另一个条件以及主条件。 Else捕获if或elif语句未声明的所有内容,因此您不能捕获Else两次。第一个else语句将涵盖所有不符合if语句条件的情况,因此使用另一个else语句是不合逻辑的->;导致语法错误
相关问题 更多 >
编程相关推荐