Python基础:十一、流程控制(if语句、while循环)
一、流程控制——if循环
1.第一种语法:
if条件: #引号是将条件与结果分开 结果1 #四个空格,或者一个tab键,这个是告诉程序满足条件的话,运行这个结果 结果2 #如果条件是真(True)执行结果1,然后结果2;如果条件是假(False),直接结果2
2.第二种语法:
if条件: #当条件为真,执行结果1;否则执行结果2 结果1 else: 结果2
3.第三种语法
if 条件1: #当条件1为真,执行结果1;不满足条件1,若满足条件2,则执行结果2;…… 结果1 elif 条件2: 结果2 …… else: 结果n
4.第四种语法(嵌套):
if条件1: #当条件1为真,执行结果1,并判断条件2,…… 结果1 if条件2: #可以无限等嵌套,但实际开发中,尽量不要超过3层嵌套 结果2
二、流程控制——while循环
1.第一种while语句的结构:
while条件: #如果条件是真,则直接执行结果,然后再次判断条件,直到条件是假,停止循环 结果
如何终止循环呢?
1.改变条件
2. break
2.流程控制break和continue
- break:立刻跳出循环,打断的意思
- continue:停止本次循环,继续执行下一次循环
#例:计数 print("模拟计数") count=0 while count<=9: print("hello") count+=1 #例:从1开始数数,输入q退出, print("用户尽情的打招呼,输入q退出,如果给麻花疼打招呼,提示他不好") num = 0 while True: num=input("继续吗?:") if num=="q": print("数累了,休息下") break #break是指:停止当前循环(当有多个循环嵌套的时候,只是停止当前本层循环) else: print(num) #过滤掉输入的字符串中的某个字符 while True: str1 = input("继续吗?:") if "abc" in str1: #in是指:在xxx中出现来XX print("abc is was not in str1 now") continue#continue是指:停止本次循环,直接执行下一次循环 print("hello,"+str1) #例:从1到n的自然数求和 print("从1~n的自然数求和") maximum=input("最大值是?") maximum=int(maximum) count=1 #计数器 summ=0 #保留之前运算的结果 whileTrue: summ=summ+count #把上一次运算结果和当前的数相加 count+=1 if count>maximum: #如果计数数达到上限制值,跳出循环 break print('sum1to%dis%d'%(maximum,summ))#打印出求和结果 #也可以写为 print("从1~n的自然数求和") maximum=input("最大值是?") maximum=int(maximum) count=1 #计数器 summ=0 #保留之前运算的结果 whilecount<=maximum: #如果计数数达到上限制值,跳出循环 summ=summ+count #把上一次运算结果和当前的数相加 count+=1 print('sum1to%dis%d'%(maximum,summ)) #打印出求和结果 #输出1~n内的所有奇数 print("计算1~n内所有的奇数") count=0 maximum=input("what's the maximum?") maximum=int(maximum) while count<=maximum: if count%2!=0: print(count,end=",") count+=1
三、第二种while语句的结构
while条件: #如果条件为真,则直接执行结果,然后再次判断条件,直到条件为假,执行else下的结果,然后停止运行 结果1 else: # 如果通过break退出了循环,则while后面的else将不会被执行 结果2
1.存在else的while循环:
print("计数") count=1 while count<=10: print(count) count+=1 else: #while条件不成立的时候执行,如果while被break打断了,则不会执行 print("这里是else")
2.如果存在break等情况,else下的内容不一定会执行:
print("") count=1 while count<=10: print(count) count+=1 if count==5:#循环被打断了,不会执行else break else: print("这里是else")
浙公网安备 33010602011771号