一、分支结构: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)的更多相关文章

  1. python基础之流程控制、数字和字符串处理

    流程控制 条件判断 if单分支:当一个“条件”成立时执行相应的操作. 语法结构: if 条件: command 流程图: 示例:如果3大于2,那么输出字符串"very good" ...

  2. python基础之流程控制(2)

    今天将是基础篇的最后一篇,咱们来补上最后一个内容,流程控制for循环 For 循环 一.为什么有for循环? for循环能做的事情,while循环全都可以实现,但是在某些情境下,for循环相对于whi ...

  3. python基础之流程控制

    流程控制之----if 流程控制,是指程序在运行时,个别的指令(或者是陈述.子程序)运行或者求值的顺序.人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件 ...

  4. python基础:流程控制案例:

    1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同   声传译,读入一行翻译 ...

  5. python基础之流程控制(if判断和while、for循环)

    程序执行有三种方式:顺序执行.选择执行.循环执行 一.if条件判断 1.语句 (1)简单的 if 语句 (2)if-else 语句 (3)if-elif-else 结构 (4)使用多个 elif 代码 ...

  6. Python基础之流程控制for循环

    目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...

  7. Python 基础知识----流程控制

    判断语句 循环语句 嵌套

  8. 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 ...

  9. Python基础之流程控制while循环

    目录 1. 语法 2. while+break 3. while+continue 4. while+else 1. 语法 最简单的while循环如下: ''' while <条件>: & ...

随机推荐

  1. bash variables plus operator All In One

    bash variables plus operator All In One Errors missing pass params #!/usr/bin/env bash # echo emoji ...

  2. Swift All in One

    Swift All in One Swift 5.3 https://github.com/apple/swift-evolution Xcode https://developer.apple.co ...

  3. 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 如何在不将数字转换 ...

  4. c++ 遍历当前程序的线程

    #include <iostream> #include <Windows.h> #include <Psapi.h> #include <TlHelp32. ...

  5. 10月份上线的NGK有什么不同之处?

    近日,有小道消息传出公链项目NGK即将在10月上线的消息.各大社区纷纷开始布局,市场中关于NGK项目的消息也变得更多了起来.仅是社区热度这一点,对比之下就已经优于很多项目,那么是否还有其他优势呢?让我 ...

  6. Captain technology开发的新能源汽车强在哪里?

    在新能源汽车飞速发展的这些年,Captain technology 认识到,要改变有状况,就要不断创新,调整新能源汽车发展路线.新能源汽车本质永远是汽车, Captain technology是在改变 ...

  7. 12.scikit-learn中的Scaler

    import numpy as np from sklearn import datasets iris = datasets.load_iris() X = iris.data y = iris.t ...

  8. 🎊 Element UI 新春快报

    新年好,Element UI 开发团队给各位支持我们的开发者们拜个晚年,祝大家在新的一年里工作没 bug, 天天不加班. 在过去一年里,Element UI 团队在稳定维护 Vue 2.x 版本的同时 ...

  9. Kubernetes中分布式存储Rook-Ceph的使用:一个ASP.NET Core MVC的案例

    在<Kubernetes中分布式存储Rook-Ceph部署快速演练>文章中,我快速介绍了Kubernetes中分布式存储Rook-Ceph的部署过程,这里介绍如何在部署于Kubernete ...

  10. 洛谷P3285 [SCOI2014]方伯伯的OJ 动态开点平衡树

    洛谷P3285 [SCOI2014]方伯伯的OJ 动态开点平衡树 题目描述 方伯伯正在做他的 \(Oj\) .现在他在处理 \(Oj\) 上的用户排名问题. \(Oj\) 上注册了 \(n\) 个用户 ...