零基础学python之流程控制

文章目录

    • 流程控制
      • if 判断语句
        • if 判断
        • if 多条件判断
        • if 的嵌套
        • 总结
      • while 循环
        • 基本语法
          • 案例:重复执行五次
          • 死循环
        • 循环计算
          • 打印小星星
          • 循环打印小星星
          • 九九乘法表
      • for 遍历
        • for 语句
        • range
        • for遍历可迭代对象
      • break 和 continue
        • break
        • continue
        • else 语句(了解)
      • 拓展
        • 三元表达式

流程控制

控制流程(也称为流程控制)是计算机运算领域的用语,意指在程序运行时,个别的指令(或是陈述、子程序)运行或求值的顺序。

  • 在程序开发中,一共有三种流程方式:

    • 顺序 —— 从上向下,顺序执行代码
    • 分支 —— 根据条件判断,决定执行代码的 分支
    • 循环 —— 让 特定代码 重复 执行

不管是多么复杂的程序,都是由这些很多简单的流程控制构建起来的。

if 判断语句

if 语句是最简单的选择结构。如果满足条件就执行设定好的操作,不满足条件就执行其他其他操作。

判断的定义

  • 如果 条件满足,才能做某件事情,
  • 如果 条件不满足,就做另外一件事情,或者什么也不做

判断语句又被称为 “分支语句”

if 判断

语法

1:冒号和缩进是一种语法,一个tab键相当于四个空格,然而在if条件语句满足条件下,后面的英文冒号后,直接enter键,会自动缩进,不需要手动缩进,感觉很nice

2:赋值满足条件,则print执行下一步

3:赋值不满足条件,则跳过,如果只有一条,则输出内容无;如果有2条,则跳过第一条,执行第二条,即else

if…else… 语句,当 if 的条件为 True 时执行 if 下的语句块,否则执行 else 下语句块。

if 要判断的条件:条件成立时,要做的事情……
else:条件不成立时,要做的事情……

注意

  • ifelse 语句以及各自的缩进部分共同是一个 完整的代码块
"""
经过一个红绿灯,如果是红灯就立马停车,如果是绿灯就继续前行
"""light = "红灯"## if 语句以及缩进部分的代码也是一个完整的代码块0
if light == "红灯":print("立马停车")## else 语句以及缩进部分的代码是一个完整的代码块
else:print("继续前行")
if 多条件判断
  • 在开发中,使用 if 可以 判断条件
  • 使用 else 可以处理 条件不成立 的情况
  • 但是,如果希望 再增加一些条件条件不同,需要执行的代码也不同 时,就可以使用 elif
  • 语法格式如下:
if 条件1:条件1满足执行的代码……
elif 条件2:条件2满足时,执行的代码……
elif 条件3:条件3满足时,执行的代码……
else:以上条件都不满足时,执行的代码……
light = "红灯"if light == "红灯":print("立马停车")elif light == "黄灯":print("立马停车")else:print("继续前行")

注意

  1. elifelse 都必须和 if 联合使用,而不能单独使用
  2. 可以将 ifelifelse 以及各自缩进的代码,看成一个 完整的代码块

elif 的应用场景是:同时 判断 多个条件,所有的条件是 平级

if 的嵌套

在开发中,使用 if 进行条件判断,如果希望 在条件成立的执行语句中增加条件判断,就可以使用 if 的嵌套

if 的嵌套 的应用场景就是:在之前条件满足的前提下,再增加额外的判断

if 的嵌套 的语法格式,除了缩进之外 和之前的没有区别

语法格式如下:

if 条件 1:条件 1 满足执行的代码……if 条件 1 基础上的条件 2:条件 2 满足时,执行的代码……    # 条件 2 不满足的处理else:条件 2 不满足时,执行的代码## 条件 1 不满足的处理
else:条件1 不满足时,执行的代码……
"""
微博信息采集与推送流程注册账号后先采集姓名,然后再采集用户的兴趣,最后给用户推送可能感兴趣的内容
"""
sex = int(input("请输入你的性别:"))if sex == "男":print("给你推荐男生可能喜欢的话题")hobby = int(input("请输入你的兴趣:"))# 推荐男频小说的类别if hobby == '小说':print('给你推荐小说相关的话题')elif hobby == '科技':print('给你推荐科技相关的话题')else:print('给你推荐大部分男生喜欢的内容')
elif sex == "女":print("给你推荐女生可能喜欢的话题")elif sex == "保密":print('随便推送内容')else:print("其他情况")
总结

if 的三种形式

1、if

if 条件1:条件1满足执行的代码

不满足条件时没有任何提示

2、if … else

if 条件1:条件1满足执行的代码
else:以上条件都不满足时,执行的代码……

2、if … elif … elif … else

多条件选择使用

if 条件1:条件1满足执行的代码……
elif 条件2:条件2满足时,执行的代码……
elif 条件3:条件3满足时,执行的代码……
else:以上条件都不满足时,执行的代码……

4、if嵌套

if 条件1:if 条件 1 基础上的条件 2:条件 2 满足时,执行的代码……    # 条件 2 不满足的处理else:条件 2 不满足时,执行的代码
else:以上条件都不满足时,执行的代码……

练习:比较两个数字大小,并按顺序输出

使用 input 输入两个数,根据其大小先后输出

  1. 输入两个数
  2. 判断大小
  3. 输出大的数字
a = input("请输入a:")
b = input("请输入b:")
max_number = 0if a > b:max_number = a
else:max_number = bprint(max_number)

while 循环

while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式){循环体}。

循环的作用就是让 指定的代码 重复的执行

while 循环最常用的应用场景就是 让执行的代码 按照 指定的次数 重复 执行

基本语法
案例:重复执行五次

需求 —— 打印 5 遍 我喜欢 Python

思考 —— 如果要求打印 100 遍怎么办?

注意:while 语句以及缩进部分是一个 完整的代码块

## while 循环
i = 0  # 限制条件
while i < 5:  # 循环申明 判断条件print('我喜欢 Python !')  # 程序执行的内容i += 1  # 限制条件
死循环

由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执行,程序无法终止!

循环计算
打印小星星

在控制台连续输出五行 *,每一行星号的数量依次递增

*
**
***
****
*****

使用字符串 * 打印

# 1. 定义一个计数器变量,从数字1开始,循环会比较方便
row = 1while row <= 5:print("*" * row)row += 1
循环打印小星星

假设 Python 没有提供 字符串的 * 操作 拼接字符串

在控制台连续输出五行 *,每一行星号的数量依次递增

*
**
***
****
*****

开发步骤

  1. 完成 5 行内容的简单输出
  2. 分析每行内部的 * 应该如何处理?

每行显示的星星和当前所在的行数是一致的

嵌套一个小的循环,专门处理每一行中 的星星显示

row = 1while row <= 5:# 假设 python 没有提供字符串 * 操作# 在循环内部,再增加一个循环,实现每一行的 星星 打印col = 1while col <= row:print("*", end="")col += 1# 每一行星号输出完成后,再增加一个换行print("")row += 1
九九乘法表

需求 输出 九九乘法表,格式如下:

1 * 1 = 1	
1 * 2 = 2	2 * 2 = 4	
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	
1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	
1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	
1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	
1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	
1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81

开发步骤

  1. 打印 9 行小星星
*
**
***
****
*****
******
*******
********
*********
  1. 将每一个 * 替换成对应的行与列相乘
# 定义起始行
row = 1# 最大打印 9 行
while row <= 9:# 定义起始列col = 1# 最大打印 row 列while col <= row:# end = "",表示输出结束后,不换行# "\t" 可以在控制台输出一个制表符,协助在输出文本时对齐print("%d * %d = %d" % (col, row, row * col), end="\t")# 列数 + 1col += 1# 一行打印完成的换行print("")# 行数 + 1row += 1

for 遍历

for 语句

在计算机科学里,遍历的一种,指的是按照某种规则,不重复地访问某个对象的所有内容的过程。

语法

for item in 'hello world !':print(item)

for i in range(10)

In [15]: for i in range(10):...:     print(i)...:
0
1
2
...
range

range() 函数可创建一个整数列表,一般用在 for 循环中。

函数语法:

range(start, stop[, step])

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
In [18]: list(range(10))
Out[18]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]In [21]: tuple(range(10))
Out[21]: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
for遍历可迭代对象

for可以迭代所有可迭代对象(字符串、列表、元组、集合、字典)

for num in list(range(1000)):print(num)

案例:用 for 迭代获取所有水仙花数

for num in range(1000):print(num)

案例:用for循环实现九九乘法表

for row in range(1, 10):for col in range(1, row + 1):print("%d * %d = %d" % (col, row, row * col), end="\t")print()

break 和 continue

breakcontinue 是专门在循环中使用的关键字

break 某一条件满足时,退出循环,不再执行后续重复的代码

continue 某一条件满足时,不执行后续重复的代码

breakcontinue 只针对 当前所在循环 有效

break

从内部中断循环,在循环过程中,如果 某一个条件满足后,不再希望 循环继续执行,可以使用 break 退出循环

案例:登录账号

循环一直输入账号密码,输入成功之后跳出循环

while True:password = input("请输入密码")if password == '123456':# 当满足条件时 中断循环print('密码输入正确,跳出循环')break# 重复执行的代码print("输入的密码错误,请重新输入")
continue

中断本次循环的后面部分

在循环过程中,如果某一个条件满足后,不希望执行循环代码,但是又不希望退出循环,可以使用 continue

也就是:在整个循环中,只有某些条件,不需要执行循环代码,而其他条件都需要执行

while True:password = input("请输入密码")if password == '123456':# 当满足条件时 终止后续的操作print('密码输入正确,终止后续的操作')continueprint("输入的密码错误,请重新输入")

需要注意:使用 continue 时,条件处理部分的代码,需要特别注意,不小心会出现 死循环

continue 只针对当前所在循环有效

else 语句(了解)

else 可以在while和for循环中运用,else和while或for搭配使用,不再是条件判断的含义。而是与while与for组成了一个新的语句。正常结束就执行,不正常就是就不执行。

else与while一起使用

而是当while条件不成立时,直接跳出while循环,执行else输出如:

i = 1
while i < 5:i += 1
else:print('正常结束')

else与for一起使用

for i in range(5):pass
else:print('正常结束')

拓展

三元表达式

程序设计中,往往有一些巧妙的程序语言,能够使得程序看起来简练干净:

a = input("请输入a:")
b = input("请输入b:")
max_number = 0if a > b:max_number = a
else:max_number = bprint(max_number)"""三元表达式"""
max_number = a if a > b else b
print(max_number)

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

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

相关文章

在Openresty中使用lua语言向请求浏览器返回请求头User-Agent里边的值

可以参考《Linux学习之Ubuntu 20.04在https://openresty.org下载源码安装Openresty 1.19.3.1&#xff0c;使用systemd管理OpenResty服务》安装Openresty。 然后把下边的内容写入到openresty配置文件/usr/local/openresty/nginx/conf/nginx.conf&#xff08;根据实际情况进行选…

基于SSM的网络安全宣传网站设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

医疗机构又进化了,一招搞定UPS设备太爽了!

在现代社会中&#xff0c;能源供应的可靠性至关重要&#xff0c;不间断电源&#xff08;UPS&#xff09;系统是维持关键设备运行的关键组成部分。UPS监控是一种重要的技术&#xff0c;用于实时监测UPS的性能、电池状态和电力质量。 客户案例 四川某医院是一家大型医疗机构&…

应对广告虚假流量,app广告变现该如何风控?

移动广告市场中的虚假流量一直是困扰各移动应用厂商的难题&#xff0c;广告作为app商业化变现最为直接快捷的途径&#xff0c;也引申出了流量作弊与反作弊的纷争。 根据《2021中国异常流量报告》&#xff0c;2021年中国品牌广告市场因异常流量造成的损失约为326亿人民币&#…

适合学生写作业的台灯有哪些?高品质学生读写台灯推荐

不得不说如今我国青少年儿童的近视率还是非常高的&#xff0c;据国家卫健委疾控局数据&#xff0c;我国儿童青少年总体近视率为52.7%&#xff0c;其中6岁儿童为14.3%&#xff0c;小学生为35.6%&#xff0c;初中生为71.1%&#xff0c;高中生为80.5%&#xff0c;造成近视的原因不…

2. redis常见数据类型

一、Redis 数据类型 Redis支持五种数据类型&#xff1a;string&#xff08;字符串&#xff09;&#xff0c;hash&#xff08;哈希&#xff09;&#xff0c;list&#xff08;列表&#xff09;&#xff0c;set&#xff08;集合&#xff09;及zset(sorted set&#xff1a;有序集合…

1800*C. Table Decorations(贪心 || 二分)

Problem - 478C - Codeforces 解析&#xff1a; 做法一&#xff1a;二分&#xff0c;显然左右边界为 0 和 总数量除以3。check时mid&#xff0c;任意两项之和都不能小于mid 做法二&#xff1a;贪心&#xff0c;当数量最大的气球数量的一半小于另外两种颜色气球的数量之和&#…

[Python]图片转字符画——这就是我的表情!!!!!!

背景 偶尔看到一些视频&#xff0c;他们把图片转字符画&#xff0c;平常也没有去关注&#xff0c;今天来捣鼓一下。 研究了一下还超级简单的&#xff0c;都是调用别人写好的框架。 网上也有很多教学。 代码实现 from PIL import Image # 表示字符颜色&#xff0c;由深到浅&am…

阿里云ModelScope 是一个“模型即服务”(MaaS)平台

简介 项目地址&#xff1a;https://github.com/modelscope/modelscope/tree/master ModelScope 是一个“模型即服务”(MaaS)平台&#xff0c;旨在汇集来自AI社区的最先进的机器学习模型&#xff0c;并简化在实际应用中使用AI模型的流程。ModelScope库使开发人员能够通过丰富的…

浅谈智能型电动机控制器在斯里兰卡电厂中的应用

摘要&#xff1a;传统的低压电动机保护是通过继电保护二次回路实现&#xff0c;但是我们结合电厂辅助控制设备的特点及其控制要求&#xff0c;推荐ARD2F智能型电动机控制器。以下综合介绍ARD2F智能型电动机控制器产品的特点及其智能化保护、测量、控制和通讯等。 Abstract: Th…

shell中实用eval命令和安全问题

eval命令非常强大&#xff0c;但也非常容易被滥用。 它会导致代码被解析两次而不是一次。这意味着&#xff0c;如果你的代码中包含变量引用&#xff0c;shell解析器将评估该变量的内容。如果变量包含一个shell命令&#xff0c;shell可能会运行该命令&#xff0c;无论你是否希望…

【经典排序算法 time: 2023-10-12】插入排序(层层优化改进)

原理 每次循环往后面拿出一个元素排到前面有序序列中&#xff08;动态演示&#xff09; 插排第一版 public class InsertSort {public static void main(String[] args) {long start System.currentTimeMillis();int[] arr {11, 23, 69, 99, 1, 3, 45, 67, 5, 234, 678, 99…

ppt录屏没有声音?超实用教程来了!

随着信息技术的发展&#xff0c;ppt已经成为工作中必不可少的工具。无论是工作报告、项目展示还是学术交流&#xff0c;都离不开ppt的辅助。屏幕录制功能是ppt的一个重要特性&#xff0c;可以帮助用户方便地录制幻灯片演示&#xff0c;但在使用过程中&#xff0c;有时会遇到ppt…

ubuntu配置yolov5环境

本文硬件平台为工控机&#xff0c;系统环境为ubuntu18 配置yolov5步骤 1.下载pytorch和torchvision软件包 由于在线安装容易出现安装失败&#xff0c;所以本文使用的是本地安装。本文是基于miniconda安装的&#xff0c;miniconda安装参考之前的博客&#xff1a;ubuntu中安装m…

开发者福利:免费好用的API推荐

企业基本信息(含联系方式)&#xff1a;通过公司名称/公司ID/注册号或社会统一信用代码获取企业基本信息和企业联系方式&#xff0c;包括公司名称或ID、类型、成立日期、电话、邮箱、网址等字段的详细信息。企业商标信息&#xff1a;获取商标的有关信息&#xff0c;包括商标图片…

微信小程序报错request:fail -2:net::ERR_FAILED(生成中间证书)

微信小程序报错request:fail -2:net::ERR_FAILED-生成中间证书 前言一、检查网站ssl证书二、生成证书方法1.获取中间证书手动合并1.进入网站&#xff1a;[https://www.myssl.cn/tools/downloadchain.html](https://www.myssl.cn/tools/downloadchain.html)2.点击下一步3.手动合…

C++教程(2)

C 环境设置 本地环境设置 如果您想要设置 C 语言环境&#xff0c;您需要确保电脑上有以下两款可用的软件&#xff0c;文本编辑器和 C 编译器。 文本编辑器 这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。 文…

uniapp:幸运大转盘demo

<template><view class"index"><image src"../../static/img/158.png" mode"" class"banner"></image><view class"title">绿色积分加倍卡拿到手软</view><almost-lottery :lottery…

招投标系统简介 企业电子招投标采购系统源码之电子招投标系统 —降低企业采购成本

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…

cuML机器学习GPU库

目录 一、开始安装 1、创建虚拟环境 2、激活该虚拟环境 3、安装cuML 4、安装ipykernel 5、在jupter上使用&#xff0c;所以需要配置一下新的内核 二、调试 1、原始机器学习库运行 2、cuml库运行 以下安装教程为基于Linux系统&#xff0c;cuda版本为11.3.109、驱动530.…