python基础语法(四)

感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接
🐒🐒🐒个人主页
🥸🥸🥸C语言
🐿️🐿️🐿️C语言例题
🐣🐓🏀python

这里写目录标题

  • 顺序语句
  • 条件语句
    • 什么是条件语句
    • 语法格式
      • if
      • if-else
      • if-elif-else
    • 缩进和代码块
    • 例题
    • 空语句 pass
  • 循环语句
    • while循环
      • 代码示例
    • for循环
      • 代码示例
    • continue循环
      • 代码示例
    • break循环
      • 代码示例

顺序语句

顺序语句其实就是按照顺序执行代码,举个例子

print("1")
print("2")
print("3")

这段代码就是从上到下开始执行,所以就是顺序语句

条件语句

什么是条件语句

条件语句就是能表达出如果…那么 这样的语句,从而使计算机有了逻辑判定
条件语句也叫分支语句,表达出逻辑的几种走向,举个生活中的例子:

如果早上不吃早餐的话
那么就不会迟到
就不会被罚站
就不会被老师关怀

或者
如果 我认真学习
那么就有可能找到一个好工作
否则
我只能喝西北风

这里的我认真学习是条件,满足这个条件就可以执行对应的找到一个好工作
如果没有满足我认真学习这个条件,就执行对应的喝西北风

语法格式

和C语言一样python使用的是if 和 else表示条件语句

if

if 条件
do 语句1
do 语句2
next_语句
如果条件为真(True),则执行语句1和语句2以及next语句
如果条件为假(False),则只执行next语句

if-else

if 条件
do 语句1
else 
do 语句2

如果条件为真(True),则执行do语句1
如果条件为假(False),则执行do语句2

if-elif-else

if 条件1
do 语句1
elif 条件2
do 语句2
else 
do 语句3

如果条件1为真(True),则执行do语句1
如果条件1为假(False)并且条件2也是假(False),则执行do语句3

注意:
if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾.(C语言是用括号将条件括起来)

if / else 命中条件后要执行的 “语句块”, 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }(C语言是用{}将执行语句括起来)

对于多条件分支, 不是写作 else if, 而是 elif (合体了).(C语言是用的else if)

缩进和代码块

代码块 指的是一组放在一起执行的代码
在 Python 中使用缩进表示代码块. 不同级别的缩进, 程序的执行效果是不同的

在CSDN中也有代码块
在这里插入图片描述

例题

# 代码1
a = input("请输入一个整数: ")
if a == "1":print("hello")print("world")
# 代码2
a = input("请输入一个整数: ")
if a == "1":print("hello")
print("world")

注意上述代码的区别:

在代码1 中, print(“world”) 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件不成立, 则不执行.

在代码2 中, print(“world”) 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件无论是否成立, 都会执行.

另外, 代码块内部还可以嵌套代码块

a = input("请输入第一个整数: ")
b = input("请输入第二个整数: ")
if a =="1"if b == "2":print("hello")print("world")
print("python")

在这个代码中,
print(“hello”) 具有两级缩进, 属于 if b == “2” 条件成立的代码块.
print(“world”) 具有一级缩进, 属于 if a == “1” 条件成立的代码块.
print(“python”) 没有缩进, 无论上述两个条件是否成立, 该语句都会执行
所以判断代码块的缩进就看用了几次Tab键

基于缩进的方式表示代码块, 带来的好处就是强制要求程序猿要写明确的缩进
来明确代码之间的相对关系. 如果缩进书写的不对, 则直接报错

另外这里和C语言其实也有一部分相同,C语言if嵌套在VS中代码的展示和python的缩进展示样子类似

python中缩进层次太多也会变得非常不好

if a == 1:if b == 2 :if c == 3 :if d == 4 :if e == 5 :if f == 6 :if g == 7 :print("hello")print("1")print("2")

空语句 pass

代码示例: 输入一个数字, 如果数字为 1, 则打印 hello

a = int(input("请输入一个整数:"))
if a == 1:print("hello")这个代码也等价于
a = int(input("请输入一个整数:"))
if a != 1:pass
else:print("hello")

其中 pass 表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置, 保持 Python 语法格式符合要求

这里我感觉就和C语言的 ; 作用类似

循环语句

while循环

基本语法格式
while 条件:循环体

条件为真, 则执行循环体代码.
条件为假, 则结束循环.

代码示例

一 :打印 1-10 的整数

num = 1
while num <= 10:print(num)num += 1

二:计算 1-100 的和

sum = 0
num = 1
while num <= 100:sum += numnum += 1
print(sum)

三: 计算 5 的阶乘

result = 1
n = 1
while n <= 5:result *= nn += 1
print(result)

四:求 1! + 2! + 3! + 4! + 5!

num = 1
sum = 0
while num <= 5:factorResult = 1i = 1while i <= num:factorResult *= ii += 1sum += factorResultnum += 1
print(sum)

这个程序用到了两重循环.
也就是在循环语句中也可以套循环

for循环

基本语法格式
for 循环变量 in 可迭代对象:循环体

注意:
python 的 for 和其他语言不同, 没有 “初始化语句”, “循环条件判定语句”
初始化语句类似于C语言的(int i=0), 循环条件判断语句类似于(i<=10)

所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”

代码示例

一:打印 1-10

for i in range(1,11)print(i)

代码解析:range函数可以生成一个可迭代的对象,其范围是[1,11)就是[1,10]
(这里我不明白为什么11就是开区间,而1是闭区间,反正就这样记吧)

二:打印 2, 4, 6, 8, 10

for i in range(2, 12, 2):print(i)

通过 range 的第三个参数, 可以指定迭代时候的 “步长”. 也就是一次让循环变量加几

其实简单的来说就是把他当成一个等差数列,公差为2

三:打印 10-1

for i in range(10, 0, -1):print(i)

公差其实也可以为负数

四:求 1 - 100 的和

sum = 0
for i in range(1, 101):sum += i
print(sum)

这里的i就是range中循环的次数,sum用来储存每次循环的i,通过相加求出总和

continue循环

continue 表示结束这次循环, 进入下次循环

代码示例

模拟吃包子. 吃第 3 个包子的时候吃出了一只虫

for i in range(1, 6):if i == 3:print(f"WC有虫子")continueprint(f"吃完第 {i} 个包子")

break循环

break 表示结束整个循环

代码示例

输入若干个数字, 求平均值. 使用 “分号” 作为结尾

sum = 0
count = 0
while True:num = input("请输入数字:")if num == ';':breaknum = float(num)sum += numcount += 1
print(sum / count)

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

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

相关文章

9.19 QT作业

完成文本编辑器的保存工作 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QFontDialog> //字体对话框 #include<QFont> //字体类 #include<QMessageBox> //消息对话框 #inclu…

SpringMVC学习|JSON讲解、Controller返回JSON数据、Jackson、JSON乱码处理、FastJson

JSON讲解 JSON(JavaScript Object Notation,JS 对象标记)是一种轻量级的数据交换格式&#xff0c;目前使用特别 广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON成为理想的数据交换语言。 易于人阅读和编写&#xff0c;同时也易于机…

岩土工程安全监测中振弦采集仪连接振弦传感器时注意事项

岩土工程安全监测中振弦采集仪连接振弦传感器时注意事项 岩土工程安全监测是保障工程稳定和安全的重要手段之一&#xff0c;而振弦采集仪则是岩土工程安全监测的常用设备之一&#xff0c;可以用于实时监测地下水位、土体变形、岩体应力等。其中&#xff0c;振弦传感器是振弦采…

解决报错:npm ERR! code 1

我是 npm install --legacy-peer-deps 成功了 解决方案&#xff1a; 升级swiper库&#xff1a;你可以尝试升级你的项目中的swiper库到5.2.0或更高版本&#xff0c;以满足vue-awesome-swiper的需求。你可以使用以下命令来进行升级&#xff1a; npm install swiperlatest 注意…

Hadoop:YARN、MapReduce、Hive操作

目录 分布式计算概述 YARN概述 YARN架构 核心架构 辅助架构 MapReduce 概述 配置相关文件 提交MapReduce到YARN Hive Hive架构 Hive在VMware部署 Hive的启动 数据库操作 数据表操作 内部表操作 外部表操作 数据加载和导出 数据加载LOAD 数据加载 - INSERT SEL…

Flink sql 1.17笔记

环境准备 # 启动hadoop集群 # 启动Flink yarn session (base) [link999hadoop102 flink-1.17.0]$ bin/yarn-session.sh -d# 启动finksql客户端 (base) [link999hadoop102 flink-1.17.0]$ bin/sql-client.sh -s yarn-session# 如果有初始化文件 bin/sql-client.sh embedded -s …

Spring Cloud Alibaba Ribbon负载均衡器

文章目录 Ribbon 负载均衡器环境搭建1.依赖2.配置3.修改其默认的负载均衡策略3.1 验证 4.创建自定义的Rule4.1 MyRule&#xff08;&#xff09;4.2 在配置config类中配置 5.饥饿加载6.我只想访问不想被别的访问 Ribbon 负载均衡器 背景 Ribbon 是一个用于客户端负载均衡的开源…

【ElementUI】ElementUI Tooltip 根据内容判断是否显示、文字提示自定义样式

【ElementUI】ElementUI Tooltip 根据内容判断是否显示、文字提示自定义样式 封装组件自定义内容 <template><span v-if"[, null, undefined].indexOf(content) -1"><el-tooltip :content"content" effect"light" placement&q…

Pytorch从零开始实战04

Pytorch从零开始实战——猴痘病识别 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——猴痘病识别环境准备数据集模型选择模型训练数据可视化其他模型图片预测 环境准备 本文基于Jupyter notebook&#xff0c;使用Python3.8&#xff0c;Pytor…

前端-layui动态渲染表格行列与复杂表头合并

说在前面&#xff1a; 最近一直在用layui处理表格 写的有些代码感觉还挺有用的&#xff0c;顺便记录下来方便以后查看使用&#xff1b; HTML处代码 拿到id 渲染位置表格 <div class"layui-table-body salaryTable"><table class"layui-table" i…

GE WES5120 5120-1506 自动化控制模块

GE WES5120 5120-1506 是一种自动化控制模块&#xff0c;通常用于工业自动化和控制系统中&#xff0c;用于监测和控制各种工业过程。这种类型的自动化控制模块在多个应用领域都有广泛的用途&#xff0c;包括但不限于以下几个领域&#xff1a; 制造业&#xff1a; WES5120 5120-…

Nginx配置负载均衡时访问地址无法生效

场景还原 今天有小伙伴练习Nginx配置负载均衡时总是无法使用配置好的网址访问 配置文件信详情 http {# 负载均衡 后端IP地址和端口 webservers 策略 轮询upstream webservers{server 192.168.1.100:8080 weight90; server 127.0.0.1:8080 weight10; }server{listen 80;ser…

Lostash同步Mysql数据到ElasticSearch(二)logstash脚本配置和常见坑点

1. logstash脚本编写&#xff08;采用单文件对应单表实例&#xff09; 新建脚本文件夹 cd /usr/local/logstash mkdir sql & cd sql vim 表名称.conf #如: znyw_data_gkb_logstash.conf 建立文件夹&#xff0c;保存资源文件更新Id mkdir -p /data/logstash/data/last_r…

【FAQ】安防监控系统/视频云存储/监控平台EasyCVR服务器解释器出现变更该如何修改?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

【数据结构】图的基本概念,图的存储结构(邻接矩阵;邻接表;十字链表;邻接多重表)

欢~迎~光~临~^_^ 目录 1、图的基本概念 2、图的存储结构 2.1邻接矩阵 2.2邻接表 2.3十字链表 2.4邻接多重表 2.5图的四种存储结构的对比 1、图的基本概念 图是由一组节点&#xff08;通常称为顶点&#xff09;和一组连接这些节点的边&#xff08;通常称为边&#xff0…

密码学概论

1.密码学的三大历史阶段&#xff1a; 第一阶段 古典密码学 依赖设备&#xff0c;主要特点 数据安全基于算法的保密&#xff0c;算法不公开&#xff0c;只要破译算法 密文就会被破解&#xff0c; 在1883年第一次提出 加密算法应该基于算法公开 不影响密文和秘钥的安全&#xff…

添加一个仅管理员可见的页面

例如我新加一个页面 申请一个路由 《插播》 前端是如何知道我们是管理员的呢&#xff0c;ant-design框架会帮我们存到InitialState里&#xff0c;做为全局变量 在access.ts里我们获取到了用户是否为管理员 &#xff08;用户存在且为管理员&#xff09; 框架为我们打通了个路由…

JADE盲分离算法仿真

JADE算法原理 JADE 算法首先通过去均值预白化等预处理过程得到解相关的混合信号&#xff0c;预处理后的信号构建的协方差矩阵变为单位阵&#xff0c;为后续的联合对角化奠定基础&#xff1b;其次&#xff0c;通过建立四阶累积量矩阵&#xff0c;利用高阶累积量的统计独立性等性…

uniapp获取一周日期和星期

UniApp可以使用JavaScript中的Date对象来获取当前日期和星期几。以下是一个示例代码&#xff0c;可以获取当前日期和星期几&#xff0c;并输出在一周内的每天早上和晚上&#xff1a; // 获取当前日期和星期 let date new Date(); let weekdays ["Sunday", "M…

Android Aidl跨进程通讯(四)--接口回调,服务端向客户端发送数据

学更好的别人&#xff0c; 做更好的自己。 ——《微卡智享》 本文长度为3325字&#xff0c;预计阅读9分钟 前言 前几篇介绍了AIDL通讯的基础&#xff0c;进阶和异常捕获&#xff0c;本篇就来看看服务端怎么向客户端来实现发送消息。 实现服务端往客户端发送消息&#xff0c;主要…