Python基础之流程控制-if判断与while循环
目录
一、引子
二、顺序结构
二、分支结构
三、循环结构
一、引子
流程控制就是控制流程的执行过程,任何情况下都只有三种情况(结构):顺序结构、分支结构、循环结构。
二、顺序结构
从上到下依次执行流程
二、分支结构
在执行过程中,遇到不同的条件,可能会执行不同的流程。比如看天气预报今天会不会下雨,会下雨就带伞,不下雨就不带伞。
分支结构有三种用法:
1.单if分支结构:
单条件成立后执行的子代码块。
age = 28
if age < 29: # 注意冒号:
print('小姐姐好') # 注意缩进
2.if与else连用结构:
if条件:条件成立之后执行的代码块;
else条件:条件不成立之后执行的子代码块。
两个条件,if 和 else 永远只会执行一个
age = 30
if age < 28: # 如果条件成立,就执行这个
print('小姐姐好')
else: # 如果条件不成立,就执行这个
print('不好意思认错人了')
3.if、elif、else连用结构:
if条件:条件1成立之后执行的子代码块;
elif条件:条件1不成立,条件2...条件N成立之后执行的子代码块;
else 条件:以上所有条件都不成立之后执行的子代码块。
多个条件,elif可以重复多次代表多个条件,三个条件永远只会执行其中一个
age = 70
if age < 13: # 如果条件1成立就执行这个
print('小朋友好')
elif age < 28: # 如果条件1不成立,条件2成立就执行这个
print('小姐姐好')
elif age < 60: # 如果条件1,2都不成立,条件3成立就执行这个
print('女士您好')
else: # 以上所有条件都不成立,就执行这个
print('阿姨好')
4.if嵌套结构:
多层if条件嵌套,if下面还有if
height = 172
weight = 127
is_rich = True
is_success = True
if height > 170 and weight <130 and is_rich:
print('小哥哥加个微信')
if is_success:
print('约会去')
else:
print('不了,我有对象')
else:
print('这人真丑')
三、while循环结构
在执行过程中有些需要反复执行,需要配一定的条件,不能一直循环。
while条件:条件成立之后循环执行的子代码块。
while True:
# 1.获取用户输入的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('来宾三位')
else:
print('没钱滚蛋')
while + break
break结束本层循环
while True:
# 1.获取用户输入的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('来宾三位')
# 直接结束本层循环
break
else:
print('去你妹的 没钱滚蛋')
break本层的含义
# while嵌套
while True:
# 1.获取用户输入的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('来宾三位')
while True:
cmd = input('请输入您的指令>>>:')
# 3.判断用户是否想退出
if cmd == 'q':
break
print('正在执行您的指令:%s' % cmd)
break
else:
print('去你妹的 没钱滚蛋')
全局标志位
# 标志位的使用
flag = True
while flag:
# 1.获取用户输入的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('来宾三位')
while flag:
cmd = input('请输入您的指令>>>:')
# 3.判断用户是否想退出
if cmd == 'q':
flag = False
print('正在执行您的指令:%s' % cmd)
else:
print('去你妹的 没钱滚蛋')
小练习:猜年龄的游戏,用户可以有三次猜错的机会,如果过程中猜对了直接退出;
三次机会用完之后提示用户是否继续尝试,如果是则再给三次机会,如果否则直接结束。
方法1:
# 1.正确数字18
age = 18
# 2.计数器:
count = 0
# 3.进入while循环:输入次数小于3
while count < 3:
# 4.获取用户输入,转换成整型
guess = int(input('请输入您的猜想数字>>>:'))
# 5.每输入一次则计数加1
count += 1
# 6.判断用户输入的数字与正确数字是否一致,如果不一致打印相应提示,猜对则break
if guess > age:
print('大了,请往小的猜')
elif guess < age:
print('小了,请往大了猜')
else:
print('猜对了')
break
# 7.从第四次开始,则询问是否继续,若是则重置计数,再给三次机会,若否则break
if count == 3:
i = input('是否继续尝试?(yes or no):')
if i == 'yes':
count = 0
else:
break
方法2:
# 1.定义真实年龄
age = 18
# 2.定义计数器
count = 1
while True:
# 5.判断次数
if count == 4:
choice = input('是否继续尝试(y/n):')
if choice == 'y':
count = 1
else:
print('欢迎再来')
break
# 3.获取用户输入并转成整型
guess_age = int(input('请输入您的猜测数字>>>:'))
# 4.猜测
if guess_age < age:
print('小了')
elif guess_age > age:
print('大了')
else:
print('猜对了')
# 猜对了就结束
break
# 每次输入数次都加1
count += 1