三.python程序控制结构

时间:2022-02-20 05:28:31

python的程序控制结构

  • 顺序结构
  • 分支结构
    • 单分支
    • 双分支
    • 多分支
  • 循环结构
    • while 循环
    • for循环
    • 嵌套循环
  • else子句
  • 流程控制 pass / continue/ break


顺序结构:

自上而下顺序执行。最简单的结构

分支结构


单分支

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循环

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

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 :stop

continue

continue,会跳到最近所在循环的开头处

# continue语句会立即跳到"最近"循环的顶端,此外也避免语句的嵌套。
# 下一个例子使用continue跳过奇数
x = 10
while x:
x = x -1
if x % 2 != 0 :
continue
print(x)

运行结果:

8
6
4
2
0

pass

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




else 子句


while ..else 子句

while <test> :

<命令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
right

break 双循环

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