python全栈学习记录(五)流程控制

流程控制

程序的运行可以分成三种结构:顺序结构、分支结构和循环结果。

一、顺序结构

顺序结构就是按程序顺序自上而下的运行。

二、分支结构

分支结构就是根据不同的条件执行分支对应的不同代码块。
分支结构可以分成单分支、双分支、多分支以及分支嵌套几种。
注意点:

  • python中使用相同的缩进表示一组代码块(缩进一般采用一个tab或者四个空格)
  • 分支语句的条件可以是任意的表达式,但是结果必须是布尔类型
  • 只有0、None、‘’、空字典、空列表、空集合、空元组等转换为布尔类型后是False,其他都是True

1.单分支

代码如下(示例):

age=input('请输入你的年龄')
height=input('请输入身高(cm)')
if age>18print('你已成年')
if height<150:
	print('你太矮了')

2.双分支

score=input('请输入你的得分')
if score>=60:
	print('恭喜你及格了')
else:
	print('很遗憾你没有及格')

3.多分支

score=input('请输入你的得分')
if 0<=score<60:
	print('很遗憾你没有及格')
elif 60<=score<90:
	print('你的成绩为良好')
elif 90<=score<=100:
	print('你的成绩为优秀')
else:
	print('请输入正确的成绩')

4.嵌套分支

cls='human'
sex='female'
age=18
is_success=False
if cls == 'human' and sex == 'female' and age > 16 and age < 22:
    print('开始表白...')
    if is_success:
        print('在一起')
    else:
        print('我逗你玩呢....')
else:
    print('阿姨好')

三、循环结构

循环结构顾名思义就是一直重复执行某个代码块。

1.for循环

for循环的基本使用规则如下:

#可迭代对象可以是字符串、字典、列表、集合、元组和文件句柄等
for 变量名 in 可迭代对象:
	代码块

for执行的逻辑:从可迭代对象中取出一个值给变量,然后运行代码块中的代码,重复这个过程直到可迭代对象中的值取完为止。

for循环的例子:

#用for遍历字典,默认取出的值是键,但是如果用两个变量遍历字典,就会把字典的键和值分别取出给i和j。
for i,j in {'name':'jack','age':30,'gender':'male'}:
	print(f'{i}:{j}')

<<<'name':'jack'
<<<'age':30
<<<'gender':'male'

range的用法:

range(start,stop,step)函数会生成一个[start,stop)区间的可迭代对象。

如果start不传值默认从0开始。

其中step参数表示取值间隔,例如range(1,11,5)表示从1开始,每次+上5,那么第二个值就是6,第三个值是11,但是由于结束位置的11是取不到的,所以例子中的range里只包含1,6两个数子字。

#正步长
for i in range(1,11,5):
	print(i)
<<<1
<<<6

#负步长
for i in range(11,1,-5):
	print(i)
<<<11
<<<6

enumerate函数用法:

#enumerate函数用来给遍历的可迭代对象增加索引
for i,j in enumerate(range(1,4)):
	print(i,j)

<<<0 1
<<<1 2
<<<2 3

for循环也可以嵌套使用:

#打印楼梯
for i in range(9):
    for j in range(9-i-1,9):
        print('*',end='')
    print('')
 
<<<*
<<<**
<<<***
<<<****
<<<*****
<<<******
<<<*******
<<<********
<<<*********

2.while循环

while循环的基本使用规则如下:

while 条件:
	代码块

while执行的逻辑:如何条件为真就一直执行代码块内容,直到条件为假时结束。

s=0
while s<5:
	s+=1
	print(s)

<<<1
<<<2
<<<3
<<<4
<<<5

break与continue:

while True:
	pass

上述代码中的while循环条件一直是真,那么循环会一直执行下去,可是一般情况下我们并不希望出现这种死循环的情况,这时break和continue就该出场了。break表示跳出循环,continue表示跳出本次循环。

s=0
while s<5:
	s+=1
	if s==3:
		#s=3时直接结束循环
		break
	print(s)
	

<<<1
<<<2

while s<5:
	s+=1
	if s==3:
		#s=3时跳出这次循环,也就是comtinue以下的内容不在执行,就直接进入下一次循环
		continue
	print(s)

<<<1
<<<2
<<<4
<<<5

while和else:

#else会在while正常运行完以后执行,换句话说就是如果while没有被break结束掉,else就会运行
s=0
while s<3:
	s+=1
	print(s)
else:
	print('end')

<<<1
<<<2
<<<3
<<<end

while s<3:
	s+=1
	if s==2:
		break
	print(s)
else:
	print('end')

<<<1

同样的break、continue和else也可以和for循环配合使用。

while循环的嵌套:

user_db='abc'
pwd_db='123'
while True:
    inp_user=input('username>>: ')
    inp_pwd=input('password>>: ')
    if inp_user == user_db and inp_pwd == pwd_db:
        print('login successfull')
        while True:
            cmd=input('请输入你要执行的命令: ')
            if cmd == 'q':
                break
            print('%s 功能执行...' %cmd)
        break
    else:
        print('user or password error')
print('end....')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值