How to exit only if block in python and not the entire program
这里我想退出if块,但不想使用sys.exit(),因为它将终止程序。我在末尾有几行要执行,因此只想退出if块。无法使用break,因为它标记错误"break outside loop"
--编辑--在这里,我希望程序在"if(retry==3)"第55行退出该块,并在末尾打印这些行。但是,在使用sys.exit()完全退出程序之前不会发生这种情况。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | import random import sys loop = '' retry = 0 loop = input('Do u want to play lottery ? yes/no : ') if loop !='yes': print('Thank you!! visit again.') sys.exit() fireball = input('Do you want to play fireball ? yes/no : ') lotto_numbers = sorted(random.sample(range(0,4),3)) fireball_number = random.randint(0,3) while loop == 'yes': user_input1 = int(input('pls enter the first no: ')) user_input2 = int(input('pls enter the second no: ')) user_input3 = int(input('pls enter the third no: ')) print ('your numbers are : ' , user_input1,user_input2,user_input3) def check(): if lotto_numbers != [user_input1,user_input2,user_input3]: return False else: return True def fbcheck(): if lotto_numbers == [user_input1,user_input2,fireball_number]: return True elif lotto_numbers == [fireball_number, user_input2, user_input3]: return True elif lotto_numbers == [user_input1, fireball_number, user_input3]: return True else: return False retry += 1 result=check() if (result == True): print ("Congratulations!! You won!!") else: print ("Oops!! you lost.") if (fireball == 'yes'): fb_result=fbcheck() if (fb_result == True): print ("Congratulations, You won fireball!!") else: print ("Sorry you lost fireball.") print ('No of retries remaining : ' , (3 - retry)) if (retry == 3): sys.exit() loop=input('Do you want to try again? yes/no : ') continue else: pass print ("Winning combo :",lotto_numbers) if (fireball == 'yes'): print ('fireball no : ' , fireball_number) print('Thank you!! visit again.') |
你什么都不需要。执行
简单回答你的问题对你没有真正的帮助。因此,让我先添加这个链接,在这里您可以有效地使用应用程序学习Python,您将需要它。
这么说,请知道
1 2 3 | if some_condition: # do stuff # stop indent and do some more stuff |
希望这是有帮助的。
我想我明白你的意思了。
要在执行if条件之后执行某个操作吗?所以,创建一个子任务,并调用它!
1 2 3 4 5 6 7 8 9 | def finish_program(): print("something") a ="foo" print("finish program") loop = input('Do u want to play lottery ? yes/no : ') if loop!='yes': print('Thank you!! visit again.') finish_program() |
号