python基础之流程控制
流程控制之----if
流程控制,是指程序在运行时,个别的指令(或者是陈述、子程序)运行或者求值的顺序。人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件,就走哪条道路。这个不断选择的过程,就是流程控制。
1 | if ... else 语句 |
单分支
1 2 3 | if 条件: 满足条件后执行的代码 |
双分支
""" if 条件: 满足条件执行代码 else: 不满足if条件执行代码 """ girl_age = 30 if girl_age < 30: print("to young to simple!") else: print("you are big girl")
多分支
1 2 3 4 5 6 | if 条件: 满足条件执行代码 elif 条件: 上面条件不满足但是满足这个条件执行代码 else : 上面都不满足执行代码 |
实例
1 2 3 4 5 6 7 8 9 | age = 33 content = input ( "请猜年龄:" ).strip() if content > age: print ( "猜的年龄大了,请重新猜..." ) elif content < age: print ( "猜的年龄下了,请重新猜..." ) else : print ( "你太厉害了,猜对了..." ) |
代码的执行顺序是自上而下。
流程控制之-----while循环
while 条件: #循环体 #如果条件为真,那么循环体则执行 #如果条件为假,那么循环体不执行
循环中止语句
break ---->用于完全结束一个循环,跳出循环体执行循环后面的语句。
continue ---->与break有些类似,区别在于continue只是中止本次循环,接着还执行后面的循环,而break则完全终止循环。
示例 break:
1 2 3 4 5 6 7 | count = 0 while count < = 10 : print (count) if count = = 5 : print ( "到%s了,终止掉" % count) break count + = 1 #每执行一次循环,count+1 |
输出为
1 2 3 4 到5了,终止掉
示例 continue:
count = 0
while count <= 10:
count += 1
if count > 5 and count < 8:
continue
print(count)
输出:
1 2 3 4 5 6 | 1 2 3 4 9 10 |
while...esle...
while后面跟着else的作用是指,当while循环正常执行完,中间没有被break中止的话,就会执行else后面的语句
1 2 3 4 5 6 | count = 0 while count < = 5 : count + = 1 print ( "Loop:" ,count) else : print ( "循环正常结束。" ) |
执行结果
1 2 3 4 5 6 | Loop 1 Loop 2 Loop 3 Loop 4 Loop 5 循环正常结束 |
如果执行过程中被break掉,则不会执行else的语句
1 2 3 4 5 6 7 | count = 0 while count < = 5 : count + = 1 if count = = 3 : break print ( "Loop" ,count) else : print ( "循环正常结束" ) |
执行结果
1 2 | Loop 1 Loop 2 |
相关练习题
1、使用while循环输入 1 2 3 4 5 6 8 9 10
1 2 3 4 5 | n = 0 while n < = 10 : n + = 1 if n = = 7 : continue print (n,end = " " ) |
2、求1-100的所有数的和
1 2 3 4 5 6 | num = 1 Sum = 0 while num < 101 : Sum = Sum + num num + = 1 print ( Sum ) |
3、输出 1-100 内的所有奇数
1 2 | for i in range ( 1 , 100 , 2 ): print (i,end = " " ) |
4、输出 1-100 内的所有偶数
1 2 | for i in range ( 0 , 100 , 2 ): print (i,end = " " ) |
5、求1-2+3-4+5 ... 99的所有数的和

1、sum1 = 0 sum2 = 0 for i in range(1,100,2): sum1 = sum1 + i for o in range(0,100,2): sum2 = sum2 + o print(sum1 - sum2) 2、print(sum([x if x%2 == 1 else -x for x in range(1, 100)])) 3、 num = 0 for i in range(100): if i%2 == 1: num += i else: num -= i print(num)
6、多个用户名登陆(三次机会重试),输入Y/y 继续尝试,输入其它,退出。
1 2 3 4 5 | li = [ { "username" : 'alex' , 'password' : '123' }, { 'username' : 'wusir' , 'password' : '1234' }, { 'username' : 'taibai' , 'password' : '12345' } ] |

count = 0 flag = True while flag: if count == 3: select = input("是否继续尝试输入【Y/N】").strip() if len(select) == 0 :continue if select == "Y" or select == 'y': count = 0 else: flag = False continue username = input("请输入你的姓名:") passwd = input("请输入你的密码:") for i in li: if i['username'] == username and i['password'] == passwd and count < 3: print("Welcome Children %s!!" %username) flag = False break else: print("用户名或者密码不对,请再次输入!") count += 1 continue if not flag:break else: print('byebye sir!')
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步