三.python程序控制结构
程序员文章站
2022-03-29 20:42:30
python的程序控制结构
顺序结构:
自上而下顺序执行。最简单的结构
分支结构
单分支
a = 2
if a > 1 :
p...
python的程序控制结构
顺序结构:
自上而下顺序执行。最简单的结构
a = 2 if a > 1 : print("bigger") 运行结果: bigger双分支
_username = "root" _password = "redhat" username = input("username:") password = input("password:") if username == _username and password == _password : print(" welcom user {name} login..." .format(name=username)) else: print("\nfuck off, you don\'t have the permission") 运行结果: username:root password:redhat welcom user root login...多分支
if 条件1 : 命令1 elif 条件2 : 命令2 elif 条件3 : 命令3 else : 命令4
age_of_jinglun = 56 guess_age = int(input("guess age:")) if guess_age == age_of_jinglun : print("yes,you got it ") elif guess_age > age_of_jinglun : print("she is younger") else : print("think bigger") 运行结果: guess age:70 she is younger
总结: 分支结构永远只有一个被执行
循环结构 while 循环a = 0 while a < 3: print(a) a += 1 结果: 0 1 2
在while循环中,循环体需要修改条件,使得while条件为假,防止死循环
#while True: #print("hello") 死循环while引出的bool值
bool布尔值一共就有两个值,一个叫TRue,一个叫FALSE
bool(1) 运行结果: True bool(-1) 运行结果: True bool(0) 运行结果: False bool(None) 运行结果: False bool([]) 运行结果: False bool({}) 运行结果: False
bool 值中 None和0和空内置结构(列表、字典、字符串),bool值都是False
#死循环 while 1: print("hello world")
for i in range (3) : print(i) 运行结果: 0 1 2
range(3) 是range(0,3)的简称
每一次循环从里面拿一个值,并且循环
for i in range(0,3): print(i) 运行结果: 0 1 2
这是从0开始循环,循环到2结束(注意不是到3结束)
这叫for循环的顾头不顾尾原则
a = 7 while a < 10: for i in range(0,3): print(a) a += 1 运行结果: 7 7 7 8 8 8 9 9 9
break语句会 离开 “最近”循环
while True: name = input("entre your name :") if name == "stop": break age = input("entre your age:") print("your name is %s ,your age is %s" %(name,age) ) # 结果:发现如果你在输入name 时输入了stop,那么就会立即中止 运行结果: entre your name :dailiang entre your age:23 your name is dailiang ,your age is 23 entre your name :stopcontinue
continue,会跳到最近所在循环的开头处
# continue语句会立即跳到"最近"循环的顶端,此外也避免语句的嵌套。 # 下一个例子使用continue跳过奇数 x = 10 while x: x = x -1 if x % 2 != 0 : continue print(x) 运行结果: 8 6 4 2 0pass
pass 什么事情也不做
pass是无占位的运算语句,当语法需要语句但实际并没有任何实用的语句可写时,就可以使用它
例如:
你想写个无限循环,每次迭代什么也不做,就写个pass
while True: pass
a = 10 while a > 3 : if a < 5: pass else : print(a) a = a-1 运行结果: 10 9 8 7 6 5
while : <命令1> else : <命令2>
注意: while与else组合是python独有的,不要与if: else:搞混,后面这个else: 是与while平行的
for.. else 子句for i in range(x): 命令1 else: 命令2
这个与while 。。。。else。。其实是一样的语法格式
age = 56 for i in range(3) : guesss_age = int(input("PLEASE INPUT AGE:")) if guesss_age == age : print("right") break elif guesss_age > age : print("try samall") else: print("try bigger") else: exit("try too much times") 运行结果: PLEASE INPUT AGE:56 rightbreak 双循环
status = False for i in range(10): for x in range(10): if x >= 3 : status = True break print(i,x) if status: break 运行结果: 0 0 0 1 0 2