当前位置: 首页 > news >正文

python判断与循环

判断语句

1. if 语句的基本结构

if xxx条件成立,就执行if里面的语句

语法:

if 判断条件:

        判断条件成立, 执行的代码1

        判断条件成立,执行的代码2

if外面的语句

1> if 语句条件后面需要一个冒号

2> 冒号之后需要回车缩进

3> 在 if 缩进中的代码 可以称为 if 语句的代码块

4> if 语句的代码块中的代码, 要么执行,要么都不执行

5> 在 if 语句缩进外的代码, 和 if 的判断没有关系

例子:

1. 定义⼀个整数变量记录输⼊的年龄

2. 判断是否满 18 岁 (>=)

3. 如果满 18 岁,允许进⽹吧嗨⽪

代码

# 1. 定义⼀个整数变量记录输⼊的年龄 input -->str
age = int(input('请输⼊年龄:'))  #
# 2. 判断是否满 18 岁 (>=)
if age >= 18:# 3. 如果满 18 岁,允许进⽹吧嗨⽪print('哥满 18 岁了, 可以进⼊⽹吧 为所欲为...')print('这⾏代码 和 if 判断⽆关')  # 1 会 2 不会

2. if else 结构

相当于补充 if 的其他情况, if else 如果... 否则...

语法

if 判断条件:

        判断条件成立, 执行的代码

else:

        判断条件不成立, 执行的代码

1> else 后面也要有冒号

2> 存在冒号, 就需要回车和缩进

3> 处于 else 缩进中的代码, 就能称之为 else 语句的代码块

4> else 必须搭配 if 使用, 不能单独使用, 且和 if 对齐

5> if 和 else 之间不能有定格书写的东西

例子

1. 获取⽤户输⼊的⽤户名信息

2. 如果⽤户名信息是 admin, 就在控制台输出 "欢迎admin登录"

3. 如果⽤户名信息不是 admin, 就在控制台输出"⽤户名错误!"

代码

# 1. 获取⽤户输⼊的⽤户名信息 input
name = input('请输⼊⽤户名:')
# 2. 如果⽤户名信息是 admin, 就在控制台输出 "欢迎admin登录"
if name == 'admin':print('欢迎admin登录')
else:# 3. 如果⽤户名信息不是 admin, 就在控制台输出"⽤户名错误!"print('⽤户名错误!')

3. if 和逻辑运算符结合

逻辑运算符 and or not 在 if 里面连接多个条件

例子

1. 获取⽤户输⼊的⽤户名

2. 判断⽤户名是 admin 时, 在控制台输出: 欢迎 admin 登录!

3. ⽤户名是 test 时, 在控制台输出: 欢迎 test 登录!

4. 如果是其他信息, 在控制台输出: 查⽆此⼈!

代码

# 1. 获取⽤户输⼊的⽤户名
username = input("请输入用户名:")
# 2. 判断⽤户名是 admin ,在控制台输出: 欢迎 admin 登录!
# 3. ⽤户名是 test 时, 在控制台输出: 欢迎 test 登录!
if username == "admin" or username == "test":print("欢迎 {} 登录".format(username))# 4. 如果是其他信息, 在控制台输出: 查⽆此⼈!
else:print("查无此人")

4. if elif else 结构

多并列条件的判断,世界不是非黑即白的,还分了很多种情况 if elif else 如果... 如果... 否则, 

语法

if 判断条件1:

        判断条件1成立, 执行的代码

elif 判断条件2:

        判断条件2成立,执行的代码

elif 判断条件3:

        判断条件3成立, 执行的代码

else: 

        上面情况都不成立, 执行的代码

1> elif 后面也需要冒号,回车和缩进

2> if elif else 的代码结构, 满足其中一个的条件, 其他的条件就不会再判断

例子

1. 定义 score 变量记录考试分数

2. 如果分数是 ⼤于等于 90分 显示 优

3. 如果分数是 ⼤于等于 80分 并且 ⼩于 90分 显示 良

4. 如果分数是 ⼤于等于 70分 并且 ⼩于 80分 显示 中

5. 如果分数是 ⼤于等于 60分 并且 ⼩于 70分 显示 差

6. 其它分数显示 不及格

代码

# 1. 定义 score 变量记录考试分数
score = int(input('请输⼊分数'))
# 2. 如果分数是 ⼤于等于 90分 显示 优
if score >= 90:print('优')
# 3. 如果分数是 ⼤于等于 80分 并且 ⼩于 90分 显示 良
elif (score >= 80) and score < 90:print('良')
# 4. 如果分数是 ⼤于等于 70分 并且 ⼩于 80分 显示 中
elif (score >= 70) and score < 80:print('中')
# 5. 如果分数是 ⼤于等于 60分 并且 ⼩于 70分 显示 差
elif (score >= 60) and score < 70:print('差')
# 6. 其它分数显示 不及格
else:print('不及格')

5. if 嵌套

在⼀个if(elif else) 语句中 嵌套另⼀个 if(elif else )语句. 判断条件存在递进关系才会使⽤. 即 只有第⼀个条件成⽴,才会判断第⼆个条件

语法

if 判断条件1:

        判断条件1成立, 执行的代码

        if 判断条件2:

                判断条件2成立, 执行的代码

        else:

                判断条件2不成立, 执行的代码

else:

        判断条件1不成立, 执行的代码

例子

取款机取钱的过程, 假定 你的密码是: 123456, 账户余额为 1000

1. 提示⽤户输⼊密码

2. 判断密码是否正确

3. 密码正确后,提示输⼊取款的⾦额,

4. 判断取款的⾦额和余额的关系

代码:

# 取款机取钱的过程, 假定 你的密码是: 123456, 账户余额为 1000
# 1. 提示⽤户输⼊密码
pwd = input('请输⼊密码:')
# 2. 判断密码是否正确
if pwd == '123456':print('密码输⼊正确')# 3. 密码正确后,提示输⼊取款的⾦额,money = int(input('请输⼊取款的⾦额:'))# 4. 判断取款的⾦额和余额的关系if money > 1000:print('余额不⾜')else:print('取款中,请稍后....')print('请收好你的钱....')
else:print('密码输⼊错误,请重试')

补充: 随机数的产生

random.randint(n,m) 随机产生[n,m]之间的随机整数

练习: 剪刀石头布

import random# 1. 控制台出拳(⽯头1/剪⼑2/布3)
player = int(input('请出拳 ⽯头1/剪⼑2/布3:'))
# 2. 电脑出拳 computer = 电脑的结果
computer = random.randint(1, 3)
# 3. 判断胜负
# 3.1 玩家胜利
# 3.1.1 玩家出⽯头, 电脑出剪⼑ # 3.1.2 玩家出剪⼑, 电脑出 布 # 3.1.3 玩家出布, 电脑出 ⽯头
if (player == 1 and computer == 2) or (player == 2and computer == 3) or (player == 3 and computer == 1):print('玩家胜利')
# 3.2 平局 玩家和电脑出的内容⼀样,
elif player == computer:print('平局')
# 3.3 电脑胜利
else:print('电脑胜利')

循环

1. while 循环

让指定的代码重复的执行

语法

1. 循环的初始条件(计数器)

# 2. 循环的终止条件:

        判断条件成立的代码

        判断条件成立的代码

        判断条件成立的代码

        # 计数器+1

1> 处于 while 缩进的代码, 为 while 的循环体

2> 执行顺序 1 2 3 2 3 2 3 2(条件不成立, 结束)

例子: 计算1-~00的和

i = 1
sum = 0
while i <= 100:sum += ii += 1
print("和为: ", sum)

死循环和无限循环

看上去俩者没区别, 都是代码一直执行不能停止

死循环: 由于 写代码的人的疏忽, 不小心写的. bug

无限循环: 是写代码的人 故意这么设计的

无限循环中一般会存在一个 if 判断语句, 当这个判断语句的条件成立, 执行 break 语句, 来终止循环

continue: 跳过本次循环

break: 跳出这一层的循环

语法

while True:

        xxxx

        xxxx

        if xxxx:

                break

        xxxx

例子: 循环版本的剪刀石头布

import randomwhile True:# 1. 控制台出拳(⽯头1/剪⼑2/布3)player = int(input('请出拳 ⽯头1/剪⼑2/布3:'))# 2. 电脑出拳 computer = 电脑的结果computer = random.randint(1, 3)# 3. 判断胜负# 3.1 玩家胜利# 3.1.1 玩家出⽯头, 电脑出剪⼑ # 3.1.2 玩家出剪⼑, 电脑出 布 # 3.1.3 玩家出布, 电脑出 ⽯头if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):print('玩家胜利')# 3.2 平局 玩家和电脑出的内容⼀样,elif player == computer:print('平局')# 3.3 电脑胜利else:print('电脑胜利')

2. for 循环

做指定次数的循环, 并且可以从容器(字符串/列表/元组/字典)中将数据逐个取出的过程

for 循环遍历字符串

for 变量 in 字符串:

        重复执行的代码

1> 字符串中存在多少个字符, 代码就会执行多少次

2> 每次循环都会从字符串中取出一个字符保存在前面的变量中

for 指定次数的循环

for 变量 in range(n): # 循环的次数

        重复执行的代码

1> range(n) 可以生成[0,n)的整数序列,不包含n

http://www.dtcms.com/a/396060.html

相关文章:

  • 买了dede模板之后就可以做网站域名如何连接wordpress
  • 网站seo优化管理系统网站栏目设置
  • 网站制作公司转型数据wordpress修改主题注册
  • linux入门4.1(硬盘分区管理和RAID)
  • 网站加盟城市分站做别人公司的网站违法吗
  • 关闭未备案网站给你一个网站怎么优化
  • 源码下载网站cms公司做网页推广要多少钱
  • Windows 10系统停止维护对普通用户的影响以及应对策略
  • 【C++】二叉搜索树 和 AVL树——思想
  • 网站建设flash设计杭州行业网页设计公司
  • 【yolo】YOLO 训练的两个隐藏坑:类别顺序影响收敛 + cache 文件不刷新
  • 网站开发朋友圈做外围网站代理违法吗
  • 离散曲线数据存储与导出技术详解
  • 求职简历免费模板贵阳seo计费管理
  • 【LLM学习】【Ollama】三、RAG
  • 成华区网站建设北京seo网站优化公司
  • php网站建设论文答辩百度h5手机版
  • seo可以提升企业网站的东莞网站推广优化网站
  • 做西服的网站少儿编程课程收费标准
  • 滁州市工程建设网站上一篇 下一篇 wordpress
  • 网站后台管理系统界面手机做服务器建网站
  • 搜索引擎站长平台百度首页排名优化多少钱
  • 阿里云 Hologres 登顶 VectorDBBench 性价比榜单四项第一
  • 如何不花钱做网站福建省效能建设网站
  • 全屏网站制作深圳出台科技支持政策
  • 网站开发所需费用教育网站开发需求分析
  • asp.net网站开发全过程在哪可以建一个网站
  • 建设机械 官方网站北京网站关键词优化推荐
  • 创建网站如何注册网页界面设计内容
  • 任县网站建设公司重庆的汽车网站建设