标签:顺序 否则 rip python 认证 账号 使用 comment 取值
流程控制
流程控制即 控制流程, 具体指控制程序的执行流程, 而程序的流程分为三种,
- 顺序结构(以前写的代码都是顺序结构)
- 分支结构(if 判断)
- 循环结构(while 和 for 循环)
分支结构
什么是分支结构
分支结构就是根据条件判断的真假去执行不同的代码块.
为什么要用分支结构
人类某些时候要根据条件决定做什么事情, 比如, 今天下雨, 带伞.
是最基本的逻辑判断.
如何使用分支结构
if 语法
用if关键字实现分支结构.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
if 条件1: 代码块1 ...... elif 条件2: 代码块2 ...... elif 条件3: 代码块3 ...... else: 代码块4. # 如果以上条件符合, 则执行下面相应的代码.以上代码块能且只能执行一块.
# 1. python 用相同的缩进(四个空格表示一个缩进) 来标识一组代码. 同一组代码块 # 2.条件可以是任意表达式, 但执行结果必须为bool类型 # 在if 判断中的所有的数据类型都会转换为布尔类型 # None, 0 ,[],"",{} , 换算成bool值都为False , 非空即真
|
if 应用案例
1 2 3 4 5
|
# 案例1 # 如果: 女人年龄>3岁, 那么叫阿姨 age = input("输入年龄>>:") if age >30: print("叫阿姨!"")
|
1 2 3 4 5 6 7
|
# 案例2 # 如果 年龄>30 叫阿姨, 否则叫姐姐 age = input("输入年龄>>:") if age >30: print("叫阿姨!"") else: print("叫姐姐1")
|
1 2 3 4 5 6 7 8 9 10 11 12
|
# 案例3 # 如果女人年龄>= 18 并且170 体重age = input("输入年龄>>:") height = input("目测身高>>:") is_beauty = True weight = input("目测体重>>:")
if 1822 and height >170 and weight 100 and is_beauty: print("表白") else: print("叫阿姨")
|
练习登录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
username_from_db = "zhang" password_from_db = 123 count = 0 tag = True while tag: username = input("please input your username>>:").strip() password = input("please input your password>>:").strip() if username == username_from_db and password == password_from_db: print("登录成功") while tag: cmd = input(">>:") if cmd == "exit": tag = False else: print(f"调用{cmd}功能") else: print("用户名或密码错误,请重新收入") count += 1
if count == 3: print("输错超过三次, 账号已锁定") tag = False
|
循环结构
while 循环语法
python中 有while 与for 两中循环机制, 其中while 称之为条件循环.
1 2 3 4 5 6 7 8 9
|
while 条件: 代码1 代码2 ...... # while 的运行步骤, # 步骤1 : 如果条件成立,则依次执行代码1,代码2 ... # 步骤2: 执行完毕后, 再次判断条件,如果条件仍然成立,则再次执行代码1,代码2,代码3
|
案例1
用户认证
1 2 3 4 5 6 7 8 9 10 11
|
username_from_db = "zhang" password_from_db = 123 count = 0 while count 3: username = input("please input your username>>:").strip() password = input("please input your password>>:").strip() if username == username_from_db and password == password_from_db: print("登录成功") else: print("用户名或密码错误,请重新收入") count +=1
|
案例二 while + break 的使用
使用while 循环后, 当登录成功, 则需要后续操作, 需要结束本层循环 , 那么就需要break.
- break 结束本层循环. 结束后 循环内代码都不执行.
1 2 3 4 5 6 7 8 9 10 11 12 13
|
username_from_db = "zhang" password_from_db = 123 # 记录验证错误次数 count = 0 while count 3: username = input("please input your username>>:").strip() password = input("please input your password>>:").strip() if username == username_from_db and password == password_from_db: print("登录成功") break # 用于结束本层循环 else: print("用户名或密码错误,请重新收入") count +=1
|
案例三, while 循环嵌套+ break
如果while 循环嵌套了很多层, 想要退出每层循环,则需要在每层都有一个break
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
username_from_db = "zhang" password_from_db = 123 count = 0 while True: username = input("please input your username>>:").strip() password = input("please input your password>>:").strip() if username == username_from_db and password == password_from_db: print("登录成功") while True: # 第二层循环 cmd = input(">>:") if cmd == "exit": break # 退出第二层循环 else: print(f"调用{cmd}功能") else: print("用户名或密码错误,请重新收入") count += 1
if count == 3: print("输错超过三次, 账号已锁定") break # 退出第一场循环
|
案例四, while 循环嵌套, + tag 的使用
针对嵌套多层的while循环, 如果当满足某个条件就退出所有循环, 就可以使用tag , 即 将tag 初始值为 True , 当满足某个条件后 tag 更改为False , 就会退出所有层循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
username_from_db = "zhang" password_from_db = 123 count = 0 tag = True while tag: username = input("please input your username>>:").strip() password = input("please input your password>>:").strip() if username == username_from_db and password == password_from_db: print("登录成功") while tag: cmd = input(">>:") if cmd == "exit": tag = False else: print(f"调用{cmd}功能") else: print("用户名或密码错误,请重新收入") count += 1
if count == 3: print("输错超过三次, 账号已锁定") tag = False
|
案例五 while + continue 的使用.
- break 代表结束本层循环,
- continue 代表结束本次循环, 进入下一次循环
1 2 3 4 5 6 7
|
num = 10 while num >1: num -=1 if num ==6: continue # 结束到本次循环, 后面的代码则不会再运行, 直接进入下一次循环. print(num) # 结果 6 则不打印,
|
案例六, while 与 else 的使用 .
当循环正常结束后, 执行else 后语句, 用来验证 循环是否正常结束.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
count = 0 while count 5: count +=1 print(f"这是第{count}次循环") else: print("循环正常结束") print("*"*50)
# 输出 这是第1次循环 这是第2次循环 这是第3次循环 这是第4次循环 这是第5次循环 循环正常结束 **************************************************
|
如果执行过程中用break , 则不会执行else语句.
1 2 3 4 5 6 7 8 9 10 11 12 13
|
count = 0 while count 5: count +=1 if count ==3: break print(f"这是第{count}次循环") else: print("循环正常结束") print("*"*50) # 输出结果 这是第1次循环 这是第2次循环 **************************************************
|
for 循环语法.
循环结构的第二种实现方法是 for 循环, for 循环可以做的事情 while循环都可以实现,之所以使用for 是因为, for循环在遍历取值时, 更为简洁.
- for 循环语法如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
for 变量名 in 可迭代对象: # 可迭代对象为, 字典,列表, 字符串, 等.. 代码1 代码2 # 例子 for i in [1,2,3,4]: print(i)
# 输出结果 1 2 3 4 # 循环是, 将列表[1,2,3,4] 中的值分别取出并赋值给i 然后打印i 直到列表值取完.
|
案例1 , 打印数字1-5
1 2 3 4 5 6 7 8 9 10 11 12
|
# for 版本 for count in range(6): print(count) # while 版本 count = 0 while count6: print(count) count +=1
# range 有三个参数, start = 其实数字 end = 结束数字. sep =步长 # range 顾头不顾尾.
|
遍历字典, 得到的是字典中的key 而不是 值.
1 2 3 4 5 6
|
for k in {"name":"Evgeny", "age":18} print(k)
# 输出结果 name age
|
案例 三, for 循环嵌套.
1 2 3 4 5 6 7 8 9
|
# 使用for 循环嵌套的方式打印以下图形 **** **** ****
for i in range(3): for j in range(4): print("*", end = "") print() # 表示换行
|
注意: break 与continue 也可以用于for循环, 使用发放与while循环相同.
python | if else || where true 流程控制
标签:顺序 否则 rip python 认证 账号 使用 comment 取值
原文地址:https://www.cnblogs.com/huangjiangyong/p/14089088.html