if、for、while结构的用法

news2024/12/23 23:34:55

分支与循环的流程控制

  • 一、分支流程控制
      • 1. if分支语句结构
          • 1). 单分支
          • 2). 双分支
          • 3). 三元运算符(双分支的简化)
          • 4). 多分支
  • 二. 循环流程控制
      • 1. while循环语句语法结构
          • 1.while循环用法
          • 2.while 的死循环
          • 3. while else的用法
      • 2. for循环语句语法结构
          • 1. for和range结合循环数字
          • 2. for循环访问遍历字符串
          • 3.for elsed 用法
      • 3. 跳出循环break,continue

一、分支流程控制

1. if分支语句结构

1). 单分支
if 条件:
	满足条件执行的内容

例子:
在这里插入图片描述

2). 双分支
if 条件:
	满足条件执行的内容
else:
	不满足条件执行内容

例子:
在这里插入图片描述

3). 三元运算符(双分支的简化)
result = 满足条件的内容  if 条件  else  不满足条件的内容  

例子:
在这里插入图片描述

4). 多分支
if 条件1:
	满足条件1执行的内容
elif  条件2:
	不满足条件2执行内容
else:
	不满足上面全部条件执行此内容

例子:
在这里插入图片描述

练习题
在这里插入图片描述

二. 循环流程控制

1. while循环语句语法结构

  • while循环原理:while循环的suit_to_repeat子句会一直循环执行,直到expression值为布尔假
1.while循环用法
while expression:
	suit_tu_repeat

例子:

#输出数字从0-100
count =0
while count<=100:
	if count % 2 == 0:
         print(f"{count}")
    count += 1
2.while 的死循环
while true:
	suit_tu_repeat

例子:

#用户登录成功,提示用户登录成功,登录失败,提示登录失败,并统计登录次数
try_count = 1 #用户登录次数
while True:
    name = input("请输入用户名:")
    passwd = input("请输入用户密码")
    print(f"用户第{try_count}次登录系统")
    try_count += 1
    if name == 'admin' and passwd == 'westos':
        print(f"用户{name}登录成功")
        exit()   #退出程序
    else:
        print(f"用户{name}登录失败")

练习

输出0-100之间所有的偶数
方法一:
count =0
while count<=100:
    if count%2 == 0 :
        print(f"{count}")
    count += 1      
方法二:
count =0
while count<=100:
    print(f"{count}")
    count += 2
3. while else的用法
while 条件表达式:
	满足条件执行的内容
else:
	不满足条件执行此内容

例子:

try_count =0
while try_count < 3:
     username = input("请输入用户名:")
     password = input("请输入密码:")
     if username == "root" and password == "westos":
        print(f"登录成功")
        exit()
     else:
        try_count +=1
        print(f"登录失败,这是第{try_count}次登录")
else:
    print("登录超过三次自动锁定")

2. for循环语句语法结构

  • range的解析
    1. range(start,end)指从start开始到end-1结束
    1. range(num)指的是从0开始到num-1结束
    1. range(start,end,step)指从start开始到end-1结束,步长为step-2
1. for和range结合循环数字
题目:输出0-100之间所有的偶数
#range(start,end)指从start开始到end-1结束
#range(num)指的是从0开始到num-1结束
#range(start,end,step)指从start开始到end-1结束,步长为step-2

for num in range(0,101,2):  
    print(num)

题目:输出0-100之间所有的奇数
for num1 in range(1,101,2):
    print(num1)
2. for循环访问遍历字符串
遍历打印字符串hello
string = 'hello'
for i in  string:
    print('----',i,'----')

例子:

#打印九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        # print('xxx',end=' ')让print打印结束符不是换行,是空格
        print(f'{i}x{j}={i * j}',end=' ')  
    print(f"\n")
3.for elsed 用法
for i in range(2):
    循环时执行的语句
else:
    没有for可以遍历的指令时执行的语句

3. 跳出循环break,continue

在这里插入图片描述

  • break用来终止循环语句,即循环条件没false条件或者序列还没被安全递归完,也会停止执行循环语句
  • continue 跳过当前循环的剩余语句,然后继续进行下一轮循环
    例子
count = 0
while count <= 10:
    count += 1
    print(count)
    if count == 5:
#       break  #遇到break循环结束
        continue  #这之后的代码 print(hello)将不会被执行
        print(hello)

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

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

相关文章

嵌入式开发学习之--串口通讯(上)

提示&#xff1a;本篇开始学习各种通讯方式&#xff0c;重中之重。 文章目录前言一、 串口通讯协议简介1.1 物理层1.2 协议层1.2.1 基本组成。1.2.2 波特率1.2.3 起始和终止位1.2.4 有效数据1.2.5 数据校验二、USART结构体详解总结前言 作为一个嵌入式的开发者&#xff0c;解析…

网页木马挂马的实现与防范

一、网页挂马是什么 不少用户都碰到过这样的现象&#xff1a;打开一个网站&#xff0c;结果页面还没显示&#xff0c;杀毒软件就开始报警&#xff0c;提示检测到木马病毒。有经验的朋友会知道这是网页恶意代码&#xff0c;这就是典型的网页挂马现象。那么是什么原因导致了这种…

数据库概论之MySQL表的增删改查 - 进阶版本1

MySQL表的增删改查 - 进阶1、数据库约束1.1 约束类型1.2 NULL约束1.3 UNIQUE约束1.4 DEFAULT约束1.5 PRIMARY约束1.6 FOREIGN KEY外键约束1.6.1 语法1.6.2 工作原理2、表的设计2.1 一对一2.2 一对多2.3 多对多大家好&#xff0c;已经好久没更新了 , 学校的学业有点忙 , 没有额外…

[论文解析] Denoising Diffusion Probabilistic Models

文章目录OverviewsWhat problem is addressed in the paper?What is the key to the solution?What is the main contribution?Contents扩散概率模型背景算法实验结论Overviews What problem is addressed in the paper? We present high quality image synthesis result…

【Java面试】说说类加载机制(流程)

文章目录加载流程装载(Load)链接(Link)验证(Verify)准备(Prepare)解析(Resolve)初始化(Initialize)卸载(Unload)加载流程 类的加载流程如下&#xff1a; 转载(Load)->链接(Link)->初始化(Initialize)->使用(Use)->卸载(Unload) 其中链接又包含验证(Verify)&#x…

rabbitMQ延时队列——TTL和DLX

一. 场景&#xff1a;“订单下单成功后&#xff0c;15分钟未支付自动取消” 1.传统处理超时订单 采取定时任务轮训数据库订单&#xff0c;并且批量处理。其弊端也是显而易见的&#xff1b;对服务器、数据库性会有很大的要求&#xff0c; 并且当处理大量订单起来会很力不从…

flask前后端项目--实例-前端部分:-4-vue-Element Plus

flask前后端项目--实例-前端部分&#xff1a;-4-vue-Element Plus组件添加事项 一、实验测试步骤 1.Element Plus添加 1.先备份App.VUE&#xff0c;然后修改app.vue的内容&#xff0c;数据来源资Element Plus的表格table 2. 数据来源资Element Plus的表格table 3. 运行服务&…

023_SSS_Neural 3D Video Synthesis from Multi-view Video(CVPR2022)

Neural 3D Video Synthesis from Multi-view Video(CVPR2022) 本文提出了一种新的3D视频生成方法&#xff0c;这种方法能够以紧凑但富有表现力的表示形式表示动态真实世界场景的多视图视频记录&#xff0c;从而实现高质量的视图合成和运动插值。 1. Introduction 本文的主要…

百度地图 ( 一 ) 显示地图

1.百度地图 百度地图开放平台 https://lbsyun.baidu.com/ 使用百度地图时导入JavaScript包 <script type"text/javascript" src"http://api.map.baidu.com/api?v2.0&ak您的密钥"></script>1.1.如何申请 ak 密钥 在 开发平台 找 控制…

ChatGPT注册流程

1.访问官网点击 Sign up https://chat.openai.com/auth/login 2.输入你的邮箱 3.点击Continue下一步: 4.输入密码继续下一步&#xff1a; 5.然后你的邮箱会受到一封邮件&#xff08;如果没收到请检查垃圾邮箱&#xff09;&#xff1a; 6.点击验证邮箱按钮&#xff0c;会跳到…

MySQL 5.7中文乱码与远程链接问题

MySQL 5.7中文乱码与远程链接问题1. MySQL 5.7中文乱码2. 远程链接问题3. 不区分表大小写4. 超过最大连接数5. 时区问题5. GROUP BY 问题配置集合重启MySQL1. MySQL 5.7中文乱码 当我们直接在数据库里面输入中文时&#xff0c;保存后出现&#xff1a; Incorrect string value&…

LeetCode 第 244 场周赛题解

前言 这是 2021-06-06 的一场 LeetCode 周赛&#xff0c;本场周赛的题目相较而以往而言比较简单&#xff0c;基本上想到点上就可以做出来&#xff0c;主要涉及到矩阵的旋转、贪心、滑动窗口、前缀和、二分查找等知识点。 第 244 场周赛链接&#xff1a;https://leetcode-cn.c…

SpringBoot+Vue实现前后端分离的学校快递站点管理系统

文末获取源码 开发语言&#xff1a;Java 使用框架&#xff1a;spring boot 前端技术&#xff1a;JavaScript、Vue.js 、css3 开发工具&#xff1a;IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库&#xff1a;MySQL 5.7/8.0 数据库管理工具&#xff1a;phpstudy/Navicat JD…

机器人开发--雷达lidar

机器人开发--雷达lidar1 介绍2 分类2.1 整体分类2.2 机械式&#xff08;三角&ToF&#xff09;三角测距激光雷达ToF测距激光雷达3 机械式单线ToF激光雷达3.1 扫描原理3.2 不同材料反射率3.3 核心参数参考1 介绍 激光雷达&#xff08;英文&#xff1a;Laser Radar &#xff…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java制造类企业erp23725

面对老师五花八门的设计要求&#xff0c;首先自己要明确好自己的题目方向&#xff0c;并且与老师多多沟通&#xff0c;用什么编程语言&#xff0c;使用到什么数据库&#xff0c;确定好了&#xff0c;在开始着手毕业设计。 1&#xff1a;选择课题的第一选择就是尽量选择指导老师…

第十四周周报

学习目标&#xff1a; 一、论文“Vector Quantized Diffusion Model for Text-to-Image Synthesis”的Code 二、猫狗识别、人脸识别模型 学习内容&#xff1a; Code 学习时间&#xff1a; 12.4-12.9 学习产出&#xff1a; 一、论文Code 正向过程&#xff1a; 先通过Tam…

Python——学生管理系统

实现学生系统的增&#xff0c;删&#xff0c;查&#xff0c;打印所有学生功能&#xff0c;分别介绍使用列表存储和使用文件存储的代码 使用列表存储 import sys students []def menu():print("1. 新增学生")print("2. 显示学生")print("3. 查找学生…

【OpenCV学习】第10课:形态学操作的应用-图像去掉干扰线丶干扰点

仅自学做笔记用,后续有错误会更改 理论 去干扰线干扰点的操作方法&#xff0c; 大体上与第9课所说的提取水平/垂直线一致&#xff0c; 只是把核改为矩形&#xff0c; 不要线型就行&#xff0c;反正都是通过开操作来实行的。 操作流程&#xff1a; 输入图像&#xff08;一般是…

python数据分析:湖南省第七次人口普查可视化

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~ 今天案例难度指数: ☆☆☆ 准备 环境使用&#xff1a; Anaconda (python3.9) –> 识别我们写的代码 开发工具&#xff1a; jupyter notebook –> 代码编辑功能敲代码的工具 相关模块&#xff1a; pandas pyechart…

[附源码]计算机毕业设计基于Web的绿色环保网站Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…