python之流程控制(if判断、while循环、for循环)

1、流程控制之if判断
1.1、什么是if判断

让计算机像人一样,做到满足条件或不满足条件时需要处理的业务逻辑

1.2、为何要有if判断

为了控制计算机能够像人一样去完成判断的过程

1.3、如何使用if判断
# if判断完整的语法
if 条件1:
    代码1
    代码2
    代码3
    ...
elif 条件2:
    代码1
    代码2
    代码3
    ...
...
else:
    代码1
    代码2
    代码3
    ...

# 运行原理示范
print(111)
print(222)
if True:
    print('if内的333')
    print('if内的444')
print(555)

# if使用:
gender = 'female'
age = 18
is_beautiful = True
if gender == 'female' and 18 <= age <= 60 and is_beautiful:
    print('开始表白...')
print('后续代码...')

# if+else使用:
gender = 'female'
age = 70
is_beautiful = True
if gender == 'female' and 18 <= age <= 60 and is_beautiful:
    print('开始表白...')
else:
    print('阿姨好,开个玩笑')
print('后续代码...')

# if+elif+else使用:
score = input('请输入你的成绩: ').strip()
score = int(score)
if score >= 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 70:
    print('普通')
else:
    print('小垃圾,很差')
print('其他代码...') 

# if判断是可以嵌套使用的,即if中嵌套if
gender = 'female'
age = 18
is_beautiful = True
is_successful = True
if gender == 'female' and 18 <= age <= 60 and is_beautiful:
    print('开始表白...')
    if is_successful:
        print('在一起')
    else:
        print('再见...')
else:
    print('阿姨好,开个玩笑')
2、流程控制之while循环
2.1、什么是循环

循环指的就是重复做某一件事

2.2、为何要有循环

循环就是为了让计算机能够像人一样去重复做某件事

2.3、如何用循环
while循环,又称之为条件循环
能够重复多少次取决条件何时变为假

while 条件:
    代码1
    代码2
    代码3
    ...
print('其他代码...')

# 示例(1):
print('start...')
while 10 > 3:
    print('hello1')
    print('hello2')
    print('hello3')
print('end')  # 此行代码运行不到 前面的循环是死循环

# 示例(2):
count = 0
while count < 6:
    print(count)
    count += 1
print('end...')
2.4、死循环
1、有I/O操作的死循环对计算机是无害的,如下:
while True:
    # 一件事的三个步骤
    print("第1步")
    print("第2步")
    print("第3步")

while True:
    name = input('用户名:').strip()
    pwd = input('密码:').strip()
    print(name, pwd)
    
2、纯计算对计算机进行大量的计算,消耗CPU资源,如下:
while True:
    1 + 1
2.5、如何结束while循环
条件变为Falsewhile循环则结束
n = 1
while n <= 5:
    if n % 2 == 0:
        print(n)
    n += 1
2.6、结束while循环的两种方式
方式一: 把条件变为False,不会立刻结束循环,会等到本次循环体代码都运行完毕后,下一次循环开始重新判断条件时才会结束
tag = True
while tag:
    inp_user = input('用户名: ').strip()
    inp_pwd = input('密码: ').strip()
    if inp_user == "allen" and inp_pwd == "123":
        print('登录成功')
        # 结束循环
        tag = False
    else:
        print('账号或密码错误,请重新输入')
    print('其他代码')  # 会执行
  
方式二: break结束本层循环,只要运行到break就会立刻结束while循环,本次循环的后续代码都不会执行
while True:
    inp_user = input('用户名: ').strip()
    inp_pwd = input('密码: ').strip()
    if inp_user == "allen" and inp_pwd == "123":
        print('登录成功')
        # 结束循环
        break
    else:
        print('账号或密码错误,请重新输入')
    print('其他代码')  # 用户输入正确后直接跳出循环,不会执行本行代码
2.7、while循环的嵌套
db_name = 'allen'
db_pwd = '123'

while True:
    inp_user = input('your name: ').strip()
    inp_pwd = input('your pwd: ').strip()
    if inp_user == db_name and inp_pwd == db_pwd:
        print('登录成功')
        while True:
        	cmd = input('请输入你的操作: ').strip()
            print('%s正在运行' %cmd)
        break
    else:
        print('账号或密码错误, 登录失败')

# 使用break方法嵌套,需要每层循环配套一个break,break只会跳出本层(当前所在层)循环
while True:
    while True:
        while True:
            break
        break
    break

# 使用变量循环嵌套,一次修改,所有的变量都统一修改
tag = True
while tag:
    while tag:
        while tag:
            tag = False
2.8、while+continue
continue结束本次循环,直接进入下一次
n = 1
while n <= 5:
    if n == 4:
        n += 1
        continue
        # n+=1 # 切忌在continue同一级别之后添加代码
    print(n)
    n += 1

强调1:不要在continue之后编写同级别的代码
count = 0
while count < 6:
    if count == 3 or count == 4:
        count += 1
        continue
    print(count)
    count += 1

强调2:如果不想执行本次循环之后的代码,可以用continue,但是如果本次循环本来就没有要继续运行的后续代码了,就没必要加continue了
db_name = 'allen'
db_pwd = '123'

while True:
    inp_user = input('your name: ').strip()
    inp_pwd = input('your pwd: ').strip()
    if inp_user == db_name and inp_pwd == db_pwd:
        print('登录成功')
        break
    else:
        print('账号或密码错误, 登录失败')
        continue  # 这个continue加的无意义
    print(1111111)  # 此行代码永远不会运行
2.9、while+else
else的子代码会在循环正常结束的情况下运行(break导致while循环结束的情况称之为非正常结束)
n = 1
while n <= 5:
    if n == 4:
        n += 1
        continue
    n += 1
    print(n)
else:
    print('else的代码运行')  # 没有被break打断,此行代码运行
3、流程控制之for循环
3.1、使用场景
该场景指的就是:主要用于循环取值,例如列表、字典、字符串
for循环能做的事情while循环也可以做

对比while循环
while循环循环的次数取决条件什么时候变为False或者什么时候执行break
# 使用while循环实现循环取值
l = [111, 222, 333, 444, 555]
i = 0
while i < len(l):
    print(l[i])
    i += 1
    
# 使用for循环实现循环取值
for x in l:
    print(x)

# for循环用作遍历字典
d = {'k1': 111, 'k2': 222, 'k3': 333}
for k in d:
    print(k, d[k])

# for循环用作遍历字符串
msg = 'hello world'
for i in msg:
    print(i)

# 循环配合解压赋值
l = [['a', 111], ['b', 222], ['c', 333]]
for k, v in l:
    print(k, v)
3.2、for循环的次数取决in后跟那个对象里有多少值
for i in "abcdef":
	print(i)
3.3、for+range
range(起始位置,结束位置,步长)
range(1,5,2)  # 起始位置, 结束位置, 步长
range(1,5)  # 省略步长, 默认为1
range(5)  # 省略起始位置与步长, 默认起始位置为0, 步长为1

for x in range(3):
    print(x)  # 0 1 2
    
for i in range(3):
    print("做一件事的步骤")  # 会重复执行三次
3.4、for+break
for x in [1, 3, 5, 7]:
    if x == 5:
        break
    print(x)  # 1 3
3.5、for+continue
for x in [1, 3, 5, 7]:
    if x == 5:
        continue
    print(x)  # 1 3 7
3.6、for+else
for x in [1, 3, 5, 7]:
    if x == 5:
        break
    print(x)  # 1 3
else:
    print('其他代码')

for x in [1, 3, 5, 7]:
    if x == 5:
        continue
    print(x)  # 1 3 7 其他代码
else:
    print('其他代码')
3.7、for循环嵌套
for i in range(3):
    print("外层循环第%s次" % i)
    for j in range(2):
        print('内存循环第%s次' % j)

ps: 在循环的过程中不要修改被循环的对象

l = ['a', 'b', 'c']
for i in l:
    # del l[-1] # 在读的过程中不要对被循环对象做新增、删除、修改操作
    print(i)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值