python基础之流程控制(1)
一、分支结构:if 判断
1、什么要有if 判断语句?
让计算机可以像人一样根据条件进行判断,并根据判断结果执行相应的流程。
2、基本结构
- 单分支结构
# 单分支
if 条件1:
代码1
代码2
代码3
示例1:
# 如果身高高于1.8米,就是大帅哥
hight = 1.85
if hight > 1.8:
print("大帅哥就是你!")
- 双分支结构
# 双分支
if 条件1:
代码1
代码2
代码3
else:
代码1
代码2
代码3
示例2:
# 如果身高高于1.8米,就是大帅哥,否则就不是
hight = 1.75
if hight > 1.8:
print("大帅哥就是你!")
else:
print("你不是大帅哥")
- 多分支
# 多分支
if 条件1:
代码1
代码2
代码3
elif 条件2:
代码1
代码2
代码3
else:
代码1
代码2
代码3
示例3:
# 如果身高高于1.8米,就是大帅哥,
# 如果钱多于1000万,就是土豪
# 如果身高高于1.8米,钱还多于1000万,就是高富帅
# 否则啥也不是
hight = 1.85
money = 2000
if hight > 1.8 and money > 1000:
print("你是高富帅!")
elif money >1000:
print("你是土豪")
elif hight > 1.8:
print("你是帅哥!")
else:
print("你是好人")
3、if 嵌套
示例4:
# 如果是男生,就选运动,女生就选舞蹈
# 如果男生身高大于1.8米,就选篮球
gender = "male"
hight = 1.85
if gender == "male":
if hight > 1.8:
print("选篮球")
else:
print("选运动")
else:
print("选舞蹈")
注意!!
- 在if 判断中,以4格空格键代表代码层级关系,不可以随便缩进;同行代码自上而下依次运行;
- if 后面可以跟条件可以是任意表达式,但执行结果必须为布尔类型。所以if判断条件语句可以为隐式布尔值。
二、循环结构(1):while循环
1、为什么要有循环结构?
为了让计算机可以像人一样循环执行某件事
2、语法结构
语法:
while 条件:
代码1
代码2
代码3
当while后面跟的条件语句为真的时候,while循环就会重复执行下面的代码语句,当条件语句为假的时候,循环会停止
示例1:
# 打印1-10
i = 1
while i < 11:
print(i)
i +=1
3、结束while循环的两种方式
- break:当while循环中出现break时,就会退出当层循环,如果有多层循环,需要一层一层的退出;
示例2:
# 用户可以输入用户、密码
# 输入正确后,显示欢迎登陆
# 用户输错可以继续输入,如果输错三次,退出程序 i = 1
while True: name = input("请输入你的用户名:")
pwd = input("请输入你的密码:") if i > 2:
print("今日输入超过上限,账户锁定!")
break if name == "zhangdada" and pwd == "123":
print("欢迎登陆!")
break
else:
print("用户名或者密码错误!")
i += 1
- 条件改为假:当满足某种条件时,将while后的条件语句改为假。需要注意的是,这种方法需要运行完本次循环,下次循环结束。
示例3:
# 当输错用户名或者密码时,退出本次循环
tag = True
while tag:
inp_name = input("请输入您的用户名:")
inp_pwd = input("请输入您的密码:") if inp_name == "egon" and inp_pwd == "123":
print("login successful")
tag = False
else:
print("username or password error") print('======>')
当用户输错用户名或者密码后,下面的打印命令还是会执行,而不是立刻退出。
4、while + continue
continue 的作用:当循环运行到continue,调过本次循环,进入下次循环,而不是退出循环。
示例4:
# 打印1 2 3 5 6 8 9
i = 1
while i < 10:
if i == 4 or i == 7:
i += 1
continue
print(i)
i += 1
5、while + else
else下代码只有在while正常结束后才会运行,break退出的不会执行
示例5:
# 打印1-10,在打印完毕后最后一行打印特殊符号
i = 1
while i < 11:
print(i)
i += 1
else:
print("*"*10)
三、两层while循环嵌套
"""
编写一个程序
用户可以输入用户名和密码
用户有三次机会
登录成功可以进行相应的操作
输入Q退出系统
"""
name_list = ["zhangdada","wangxiaoxiao","lizhongzhong"]
pwd_list = ["123","456","789"]
info = ["1:存款","2:取款","3:转账","4:查询"] print("欢迎使用本系统,退出请输入Q") tag =True
i = 0
while tag: name = input("请输入你的用户名:")
pwd = input("请输入你的密码:") if name == "Q" or pwd == "Q": # 退出条件
tag = False
break if i >= 2: # 输入次数判断
print("您今日的次数已用完,账户锁定!")
break if name not in name_list or pwd not in pwd_list: # 登录逻辑
i += 1
print("用户名或者密码错误!")
continue
else: for i in info: # 业务逻辑展示
print("****%s*****" % i) while tag: # 业务逻辑循环
yewu = input("请输入你要办理的业务对应数字:") if yewu == "Q": # 退出条件
tag = False
break if yewu == "2":
print("您已取款:1000元")
elif yewu == "1":
print("您已存款:1000元")
elif yewu == "3":
print("您已转账: 3000元")
elif yewu == "4":
print("您的账户余额为:38028元")
else:
print("输入错误,请从新输入")
python基础之流程控制(1)的更多相关文章
- python基础之流程控制、数字和字符串处理
流程控制 条件判断 if单分支:当一个“条件”成立时执行相应的操作. 语法结构: if 条件: command 流程图: 示例:如果3大于2,那么输出字符串"very good" ...
- python基础之流程控制(2)
今天将是基础篇的最后一篇,咱们来补上最后一个内容,流程控制for循环 For 循环 一.为什么有for循环? for循环能做的事情,while循环全都可以实现,但是在某些情境下,for循环相对于whi ...
- python基础之流程控制
流程控制之----if 流程控制,是指程序在运行时,个别的指令(或者是陈述.子程序)运行或者求值的顺序.人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件 ...
- python基础:流程控制案例:
1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同 声传译,读入一行翻译 ...
- python基础之流程控制(if判断和while、for循环)
程序执行有三种方式:顺序执行.选择执行.循环执行 一.if条件判断 1.语句 (1)简单的 if 语句 (2)if-else 语句 (3)if-elif-else 结构 (4)使用多个 elif 代码 ...
- Python基础之流程控制for循环
目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...
- Python 基础知识----流程控制
判断语句 循环语句 嵌套
- Python基础之流程控制if判断
目录 1. 语法 1.1 if语句 1.2 if...else 1.3 if...elif...else 2. if的嵌套 3. if...else语句的练习 1. 语法 1.1 if语句 最简单的i ...
- Python基础之流程控制while循环
目录 1. 语法 2. while+break 3. while+continue 4. while+else 1. 语法 最简单的while循环如下: ''' while <条件>: & ...
随机推荐
- bash variables plus operator All In One
bash variables plus operator All In One Errors missing pass params #!/usr/bin/env bash # echo emoji ...
- Swift All in One
Swift All in One Swift 5.3 https://github.com/apple/swift-evolution Xcode https://developer.apple.co ...
- how to convert a number to a number array in javascript without convert number to a string
how to convert a number to a number array in javascript without convert number to a string 如何在不将数字转换 ...
- c++ 遍历当前程序的线程
#include <iostream> #include <Windows.h> #include <Psapi.h> #include <TlHelp32. ...
- 10月份上线的NGK有什么不同之处?
近日,有小道消息传出公链项目NGK即将在10月上线的消息.各大社区纷纷开始布局,市场中关于NGK项目的消息也变得更多了起来.仅是社区热度这一点,对比之下就已经优于很多项目,那么是否还有其他优势呢?让我 ...
- Captain technology开发的新能源汽车强在哪里?
在新能源汽车飞速发展的这些年,Captain technology 认识到,要改变有状况,就要不断创新,调整新能源汽车发展路线.新能源汽车本质永远是汽车, Captain technology是在改变 ...
- 12.scikit-learn中的Scaler
import numpy as np from sklearn import datasets iris = datasets.load_iris() X = iris.data y = iris.t ...
- 🎊 Element UI 新春快报
新年好,Element UI 开发团队给各位支持我们的开发者们拜个晚年,祝大家在新的一年里工作没 bug, 天天不加班. 在过去一年里,Element UI 团队在稳定维护 Vue 2.x 版本的同时 ...
- Kubernetes中分布式存储Rook-Ceph的使用:一个ASP.NET Core MVC的案例
在<Kubernetes中分布式存储Rook-Ceph部署快速演练>文章中,我快速介绍了Kubernetes中分布式存储Rook-Ceph的部署过程,这里介绍如何在部署于Kubernete ...
- 洛谷P3285 [SCOI2014]方伯伯的OJ 动态开点平衡树
洛谷P3285 [SCOI2014]方伯伯的OJ 动态开点平衡树 题目描述 方伯伯正在做他的 \(Oj\) .现在他在处理 \(Oj\) 上的用户排名问题. \(Oj\) 上注册了 \(n\) 个用户 ...