Python的控制流语句使用

Python的控制流语句使用

  • 判断语句 if分支
    • 示意图
    • 语法介绍
    • 注意事项
    • 示例
  • for循环
    • 示意图
    • 语法介绍
    • 列表推导式
    • 示例
  • while循环
    • 与for的区别
    • 语法介绍
    • 示例

判断语句 if分支

示意图

单、双、多分支:
在这里插入图片描述

语法介绍

# 单分支
if condition:expression
# 双分支
if condition:expression1
else:expression2
# 多分支
if condition1:expression1
elif condition2:expression2
else:expression3

注意事项

关键词(if、elif和else)所在的行末必须加上英文状态的冒号。
冒号所在行的下一行必须缩进(目的是为了代码的好看与好用)。
elif的正确写法 (错误写法:elseif else if )。
else后面永远不要写条件。

示例

1.二分支:返回一个数的绝对值

# 二分支:返回一个数的绝对值
x = -3
if x >= 0:print(x)
else:print(-1*x)

输出:

3

2.多分支:返回成绩对应的等级

# 多分支:返回成绩对应的等级
score = 68
if score < 60:print('不及格')
elif score < 70:print('合格')
elif score < 80:print('良好')
else:print('优秀')

输出:

合格

3.使用input函数输入一个整数,并判断该整数是否与7相关(可被7整除或含7字样的整数)。

# 使用input函数输入一个整数,并判断该整数是否与7相关(可被7整除或含7字样的整数)
number = input('请输入一个整数:')
if (int(number) % 7 == 0) | (number.find('7') != -1):print('与7相关')
else:print('与7不相关')

输出:

请输入一个整数:28
与7相关
请输入一个整数:8
与7不相关

4.使用input函数输入一个身份证号码,并提取出出生日期。

# 使用input函数输入一个身份证号码,并提取出出生日期
ID = input('请输入身份证号码:')
if len(ID) == 18:birthday = ID[6:14]print(birthday)
elif len(ID) == 15:birthday = 19+ID[6:12]print(birthday)
else:print('请重新输入身份证号码')

输出:

请输入身份证号码:123456789987654321
78998765

5.使用input函数输入一个身份证号码,并识别性别
18位身份证号性别是倒数第二位
15位身份证号码性别是倒数第一位
(偶数为女,奇数为男)

# 使用input函数输入一个身份证号码,并识别性别;
ID = input('请输入身份证号码:')
if len(ID) == 18:if int(ID[-2]) % 2 == 0:print('女')else:print('男')
elif len(ID) == 15:if int(ID[-1]) % 2 == 0:print('女')else:print('男')
else:print('请重新输入身份证号码')

输出:

请输入身份证号码:123456789987654321

请输入身份证号码:123456789012345

for循环

示意图

对于for循环来说,就是把可迭代对象中的元素(如列表中的每一个元素)通过漏斗的小口依次倒入之后的执行语句中。
在这里插入图片描述

语法介绍

for i in iterable:if condition:expressionelif condition:expressionelse:expression

列表推导式

语法介绍
[expression for i in iterable if condition]
注意:
• expression就是对每一个元素的具体操作表达式
• iterable是某个可迭代对象,如列表、元组或字符串等
• if condition是对每一个元素做分支判断,如果条件符合,则expression操作对应的元素

示例

1.将列表中的每个元素做平方加1处理

# 将列表中的每个元素做平方加1处理
list6 = [1,5,2,8,10,13,17,4,6]
result = []
for i in list6:y = i ** 2 + 1result.append(y)
print(result)

输出:

[2, 26, 5, 65, 101, 170, 290, 17, 37]

2.计算1到100之间的偶数和

# 计算1到100之间的偶数和
s1_100 = 0
for i in range(1,101):if i % 2 == 0:s1_100 = s1_100 + ielse:pass
print('1到100之间的偶数和为%d'%s1_100)

输出:

1到100之间的偶数和为2550

3.对列表中的偶数做三次方减10的处理

# 对列表中的偶数做三次方减9的处理
list7 = [3,1,18,13,22,17,23,14,19,28,16]
result = [i ** 3 - 9 for i in list7 if i % 2 == 0]
print(result)

输出:

[5823, 10639, 2735, 21943, 4087]

4.区别列表中所有含”e”字母的单词,列表如下:
[‘one’,‘two’,‘three’,‘four’,‘five’,‘six’,‘seven’,‘eight’,‘nine’]

list = ['one','two','three','four','five','six','seven','eight','nine']
res = []
for i in list:if i.find('e') != -1:res.append(i)
print(res)

输出:

[‘one’, ‘three’, ‘five’, ‘seven’, ‘eight’, ‘nine’]

5.将列表的中的元素做平方减5的操作,列表如下:
[10,23,16,11,14,18,21,25,17,22,19]

list = [10,23,16,11,14,18,21,25,17,22,19]
res = []
for i in list:res.append(i**2-5)
print(res)

输出:

[95, 524, 251, 116, 191, 319, 436, 620, 284, 479, 356]

6.统计列表中各元素的频次,并以字典形式存储统计结果,列表如下:
[‘A’,‘C’,‘A’,‘C’,‘B’,‘C’,‘A’,‘A’,‘B’,‘C’]

list = ['A','C','A','C','B','C','A','A','B','C']
res = {}
for i in list:res[i] = list.count(i) # count()为统计数目函数
print(res)

输出:

{‘A’: 4, ‘C’: 4, ‘B’: 2}

优化(减少循环次数):

list = ['A','C','A','C','B','C','A','A','B','C']
res = {}
for i in set(list): # set()为几何函数,可以进行排重,从而减少循环数目res[i] = list.count(i) # count()为统计数目函数
print(res)

while循环

与for的区别

绝大多数场景下,while循环与for循环是可以互相替代的。
如果存在明确的被迭代对象(如列表、元组、字符串等),可优先使用for循环。
如果不存在明确的被迭代对象,使用while循环将会更加地简单。

语法介绍

while condition:if condition1:expression1elif condition2:expression2else:expression3

示例

首先进行一个示例对比
对于for循环:

# 使用for循环登录某手机银行APP – 已知登录总次数的情况
for i in range(1,6):user = input('请输入用户名:')password = int(input('请输入密码:'))if (user == 'test') & (password == 123):print('登录成功!')breakelse:if i < 5:print('错误!您今日还剩%d次输入机会。' %(5-i))else:print('请24小时后再尝试登录!')

输出:

请输入用户名:123
请输入密码:123
错误!您今日还剩4次输入机会。
请输入用户名:145
请输入密码:123
错误!您今日还剩3次输入机会。
请输入用户名:test
请输入密码:123
登录成功!

对于while循环:

# 使用while循环登录某邮箱账号  -- 无限次登录次数的情况
while True:user = input('请输入用户名:')password = int(input('请输入密码:'))if (user == 'test') & (password == 123):print('登录成功!')breakelse:print('您输入的用户名或密码错误!')

输出:

请输入用户名:123
请输入密码:123
您输入的用户名或密码错误!
请输入用户名:145
请输入密码:123
您输入的用户名或密码错误!
请输入用户名:test
请输入密码:123
登录成功!

1.计算等差数列3n+5的前多少项和不超过1000;

s = 0
n = 0
while s <= 1000:n += 1s += 3*n+5print(n,'--->',s)
print(n-1)

输出:

1 —> 8
2 —> 19
3 —> 33
4 —> 50
5 —> 70
6 —> 93
7 —> 119
8 —> 148
9 —> 180
10 —> 215
11 —> 253
12 —> 294
13 —> 338
14 —> 385
15 —> 435
16 —> 488
17 —> 544
18 —> 603
19 —> 665
20 —> 730
21 —> 798
22 —> 869
23 —> 943
24 —> 1020
23

2.猜数字游戏,给定整数范围,直到猜中为止

import random # 生成随机函数
number = random.randint(10,30) #生成10-30的随机整数
while True:guess = input('请输入一个10-30的整数:')if number == int(guess):print('恭喜你猜中了')breakelif int(guess) < number:print('偏小')else:print('偏大')

输出:

请输入一个10-30的整数:25
偏大
请输入一个10-30的整数:20
偏大
请输入一个10-30的整数:15
偏大
请输入一个10-30的整数:10
恭喜你猜中了

优化(自己设置上下限制+可以看见变化的上下限):

import random # 生成随机函数
min = int(input('范围最小值:'))
max = int(input('范围最大值:'))
number = random.randint(min,max) #生成10-30的随机整数
while True:guess = input('请在{}~{}之间猜一个整数:'.format(min,max))if number == int(guess):print('恭喜你猜中了')breakelif int(guess) < number:print('偏小')min = guesselse:print('偏大')max = guess

输出:

范围最小值:20
范围最大值:60
请在20~60之间猜一个整数:30
偏小
请在30~60之间猜一个整数:50
偏小
请在50~60之间猜一个整数:59
偏大
请在50~59之间猜一个整数:56
偏大
请在50~56之间猜一个整数:55
偏大
请在50~55之间猜一个整数:54
偏大
请在50~54之间猜一个整数:52
恭喜你猜中了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/182566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark-java版

SparkContext初始化 相关知识 SparkConf 是SparkContext的构造参数&#xff0c;储存着Spark相关的配置信息&#xff0c;且必须指定Master(比如Local)和AppName&#xff08;应用名称&#xff09;&#xff0c;否则会抛出异常&#xff1b;SparkContext 是程序执行的入口&#xf…

设计好的测试用例,6大注意事项

设计好的测试用例对于发现缺陷、验证功能、提高可靠性、降低风险和提高效率都具有重要的作用&#xff0c;是保证产品质量和稳定性的重要环节。如果测试用例有问题&#xff0c;可能会导致遗漏缺陷、功能验证不充分、测试效率低下以及误报漏报等问题&#xff0c;从而影响项目的质…

Ubuntu安装nfs服务步骤

Ubuntu安装nfs服务步骤 一、NFS&#xff1f; NFS&#xff1a;网络文件系统&#xff08;Network File system File&#xff09;缩写&#xff0c;可通过网络让不同的机器&#xff0c;不同操作系统之间可以彼此共享文件和目录。 二、安装 1.安装nfs服务器命令&#xff1a;sudo…

BUUCTF-pwn-ciscn_2019_ne_51

简单查看保护&#xff1a; 32为程序没有canary没有PIE&#xff0c;应该是简单的栈溢出。我们照着这个思路去找溢出点在哪&#xff0c;运行下程序看看什么情况&#xff1a; 程序上来是输入一个密码验证。随便输入下错误直接退出。因此我们需要到IDA中看看怎么回事&#xff1a; 主…

F. Magic Will Save the World

首先积攒了能量打了怪再积攒是没有意义的&#xff0c;可以直接积攒好&#xff0c;然后一次性进行攻击 那么怎么进行攻击了&#xff1f;可以尽量的多选怪物使用水魔法攻击剩余的再用火魔法进行攻击&#xff0c; 也就是只要存在合法的体积&#xff08;即装入背包的怪物的体积之…

qt-C++笔记之主线程中使用异步逻辑来处理ROS事件循环和Qt事件循环解决相互阻塞的问题

qt-C笔记之主线程中使用异步逻辑来处理ROS事件循环和异步循环解决相互阻塞的问题 code review! 文章目录 qt-C笔记之主线程中使用异步逻辑来处理ROS事件循环和异步循环解决相互阻塞的问题1.Qt的app.exec()详解2.ros::spin()详解3.ros::AsyncSpinner详解4.主线程中结合使用的示…

笔记63:注意力评分函数

本地笔记地址&#xff1a;D:\work_file\&#xff08;4&#xff09;DeepLearning_Learning\03_个人笔记\3.循环神经网络\第10章&#xff1a;动手学深度学习~注意力机制 a a a a a a a a a a a a a a a a a a a

Python语言学习笔记之五(Python代码注解)

本课程对于有其它语言基础的开发人员可以参考和学习&#xff0c;同时也是记录下来&#xff0c;为个人学习使用&#xff0c;文档中有此不当之处&#xff0c;请谅解。 注解与注释是不一样的&#xff0c;注解有更广泛的应用&#xff1b; 通过注解与注释都能提高代码的可读性和规…

带大家做一个,易上手的家常蒜薹炒瘦肉

首先 从冰箱那一块瘦肉 用水化一下冰 然后 那一把蒜薹 将所有蒜薹头和尾部去掉一小节 这个地方是不能吃的 然后 剩下的部分 切成如下图这样 一小条一小条的样子 然后 将蒜薹倒入盆中清水洗一下 瘦肉清洗一下 然后切片 然后 直接起锅烧油 油烧热后马上下肉翻炒 一定要大点翻…

kafka C++实现生产者

文章目录 1 Kafka 生产者的逻辑2 Kafka 的C API2.1 RdKafka::Conf2.2 RdKafka::Message2.3 RdKafka::DeliveryReportCb2.4 RdKafka::Event2.5 RdKafka::EventCb2.6 RdKafka::PartitionerCb2.7 RdKafka::Topic2.8 RdKafka::Producer&#xff08;核心&#xff09; 3 Kafka 生产者…

【代码】考虑灵活性供需平衡的电力系统优化调度模型

程序名称&#xff1a;考虑灵活性供需平衡的电力系统优化调度模型 实现平台&#xff1a;matlab-yalmip-cplex/gurobi 代码简介&#xff1a;最可再生能源发电设备和并网技术快速发展&#xff0c;以新能源为主导的新型电力系统逐步形成。高比例新能源的随机波动性导致电力系统的…

redis的数据类型的操作增删改查

redis的数据类型的操作增删改查 redis的高可用&#xff1a; 在集群当中有一个非常重要的指标&#xff0c;提供正常服务的时间的百分比&#xff08;365天&#xff09;99.9% redis的高可用的含义要更加宽泛&#xff0c;正常服务是指标之一数据容量扩展&#xff0c;数据的安全性…

Oracle 11g安装过程

文章目录 前言1.下载安装包2.安装2.1本地安装文件2.2 安装过程 3.查看是否安装成功3.1 查看oracle是否安装成功3.2 查看oracle服务 前言 本文仅用于记录亲自安装oracle的过程 1.下载安装包 官网地址&#xff1a; Oracle Database 11g Release 2 (11.2.0.1.0) 注意&#xff…

数据治理框架和成熟度模型

数据治理成熟度模型 一个企业的数据治理能力越高&#xff0c;所享受到数据治理带来的价值也会越多&#xff0c;如增加收入、减少成本、降低风险等。于是&#xff0c;很多企业想要准确地评估本公司的数据治理能力&#xff0c;可以利用数据治理成熟度模型方法&#xff0c;包括 D…

Javaweb之Vue组件库Element案例的详细解析

4.4 案例 4.4.1 案例需求 参考 资料/页面原型/tlias智能学习辅助系统/首页.html 文件&#xff0c;浏览器打开&#xff0c;点击页面中的左侧栏的员工管理&#xff0c;如下所示&#xff1a; 需求说明&#xff1a; 制作类似格式的页面 即上面是标题&#xff0c;左侧栏是导航&…

泛微OA对接金蝶云星空方案分享(对接场景解析)

分享金蝶云星空跟泛微OA系统集成对接的方案分享&#xff0c;主讲审批流程对接&#xff0c;表单对接的两类场景。分别是金蝶云星空发起申请和泛微发起流程审批&#xff0c;最终实现统一管理。 数据集成主要有以下好处&#xff1a; &#xff08;1&#xff09;数据一致性&#xf…

吉利展厅 | 透明OLED拼接2x2:科技与艺术的完美融合

产品&#xff1a;4块55寸OLED透明拼接屏 项目地点&#xff1a;南宁 项目时间&#xff1a;2023年11月 应用场景&#xff1a;吉利展厅 在2023年11月的南宁&#xff0c;吉利展厅以其独特的展示设计吸引了众多参观者的目光。其中最引人注目的亮点是展厅中央一个由四块55寸OLED透…

函数的极值与最值

函数的最值 1.闭区间上连续函数的最值 1.求驻点或不可导点&#xff08;可能的极值点&#xff09; 2.求函数在驻点&#xff0c;不可导点&#xff0c;端点的函数值 3.比较大小 例题&#xff1a; 例题思想&#xff1a;分段函数分段点必须验证导数的存在性 几种常见的最值类型 1.…

WordPress自动采集伪原创发布工具

在当今数字化时代&#xff0c;随着信息爆炸式增长&#xff0c;网站内容的更新速度飞快。对于拥有WordPress网站的用户而言&#xff0c;如何轻松而又快速地批量采集伪原创内容成为一项具有挑战性的任务。本文将专心分享一些方法和技巧&#xff0c;帮助WordPress用户实现批量采集…

软件设计模式原则(三)单一职责原则

单一职责原则&#xff08;SRP&#xff09;又称单一功能原则。它规定一个类应该只有一个发生变化的原因。所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变&#xff0c;那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原…