python基础语法(四)

news2024/11/27 5:36:41

感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接
🐒🐒🐒个人主页
🥸🥸🥸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 += num
	num += 1
print(sum)

三: 计算 5 的阶乘

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

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

num = 1
sum = 0
while num <= 5:
	factorResult = 1
	i = 1
	while i <= num:
		factorResult *= i
		i += 1
	sum += factorResult
	num += 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有虫子")
		continue
	print(f"吃完第 {i} 个包子")

break循环

break 表示结束整个循环

代码示例

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

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

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

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

相关文章

day50:QTday3,对话框补充、事件处理机制

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

springboot配置注入增强(三)自定义数据源/自定义解析方法

我们回忆下上一篇文章的内容&#xff0c;属性注入的关键节点是PropertySourcesPlaceholderConfigurer的BeanFactory后置处理器org.springframework.context.support.PropertySourcesPlaceholderConfigurer#postProcessBeanFactory&#xff0c;只有在执行这个方法前设置到Enviro…

竞赛 基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类

文章目录 1 前言2 情感文本分类2.1 参考论文2.2 输入层2.3 第一层卷积层&#xff1a;2.4 池化层&#xff1a;2.5 全连接softmax层&#xff1a;2.6 训练方案 3 实现3.1 sentence部分3.2 filters部分3.3 featuremaps部分3.4 1max部分3.5 concat1max部分3.6 关键代码 4 实现效果4.…

平均精度(AP)

什么是平均精度(AP) 平均精度 (AP)并不是精度 (P)的平均值。 平均精度 (AP) 是按类别计算的。 mAP&#xff08;mean average precision&#xff09;是一个平均值&#xff0c;常用作目标检测中的检测精度指标mAP 指标通过对于一个平均目标来检测任务中多个目标所对应不同 AP&a…

9.19号作业

2> 完成文本编辑器的保存工作 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QFontDialog> #include <QFont> #include <QMessageBox> #include <QDebug> #include <QColorDialog> #include <QColor&g…

Centos安装显卡

1、安装基础环境 yum -y install epel-release yum -y install gcc kernel-devel kernel-headers 2.对应内核版本 yum info kernel-devel kernel-headers Cat /proc/version 3、yum安装版本不对应。则去官网手动下载 离线安装对应的rpm&#xff1a; https://pkgs.org/dow…

电脑桌面的复选框如何取消

电脑桌面图标的复选框如何取消 1. 概述2. 去掉图标的复选框方法结束语 1. 概述 当你拿到新的电脑开机后&#xff0c;发现桌面上软件应用的图标左上角有个小框&#xff0c;每次点击图标都会显示&#xff0c;并且点击图标时&#xff0c;小框还会打上√&#xff1b; 这个小框的…

移动端APP测试-如何指定测试策略、测试标准?

制定项目的测试策略是一个重要的步骤&#xff0c;可以帮助测试团队明确测试目标、测试范围、测试方法、测试资源、测试风险等&#xff0c;从而提高测试效率和质量。本篇是一些经验总结&#xff0c;理论分享。并不是绝对正确的&#xff0c;也欢迎大家一起讨论。 文章目录 一、测…

activiti7的数据表和字段的解释

activiti7的数据表和字段的解释 activiti7版本有25张表&#xff0c;而activiti6有28张表&#xff0c;activiti5有27张表&#xff0c;绝大部分的表和字段的含义都是一样的&#xff0c;所以本次整理的activiti7数据表和字段的解释&#xff0c;也同样适用于activiti6和5。 1、总览…

higher-order function in functional programming (JS)

1 functional programming该怎么理解&#xff1f; functions就是values&#xff0c;就像String or Numbers那样&#xff0c;可以构造匿名函数&#xff0c;并把函数赋给某个变量 或者 传递给其他函数&#xff08;higher-order function&#xff09; 2 higher-order function有…

B树的定义和特点

1.多叉查找树的效率 策略1:m叉查找树中&#xff0c;规定除了根节点外&#xff0c;任何结点至少有[m/2]个分叉&#xff0c;即至少含有[m/2]-1个关键字。策略2:m叉查找树中&#xff0c;规定对于任何一个结点&#xff0c;其所有子树的高度都要相同。 而满足以上两种策略的树被称…

新手怎样快速上手接口测试?掌握这几个知识点直接起飞!

接口测试是测试系统组件间接口的一种方式&#xff0c;接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是检查数据的增删改查操作&#xff0c;以及系统之间的逻辑关系等。 接口的几种类型 接口的类型包括&#xff1a;post &#xff0c;get&…

Postman应用——控制台调试

当你在测试脚本中遇到错误或意外行为时&#xff0c;Postman控制台可以帮助你识别&#xff0c;通过将console.log调试语句与你的测试断言相结合&#xff0c;你可以检查http请求和响应的内容&#xff0c;以及变量之类的。 通常可以使用控制台日志来标记代码执行&#xff0c;有时…

Golang gorm 一对一关系

一对一关系 一对一关系比较少&#xff0c;一般用于表的扩展例如一张用户表&#xff0c;有很多字段那么就可以把它拆分为两张表&#xff0c;常用的字段放主表&#xff0c;不常用的字段放详情表。 针对用户表来说可以通过user去点出userinfo。 创建表和插入数据 package mainimp…

一款超强的 Python 分析工具!

这是一个star暴增的项目&#xff1a;PyGWalker&#xff0c;也是目前看来更加轻量级的分析工具&#xff01; 之前我们的数据分析思路是&#xff1a; 1、利用 R 或者 Python 进行数据分析‍ 2、利用沉跌跌的工具进行数据分析&#xff0c;比如&#xff1a;tableau 今天介绍的*…

Hive 数据仓库介绍

目录 ​编辑 一、Hive 概述 1.1 Hive产生的原因 1.2 Hive是什么&#xff1f; 1.3 Hive 特点 1.4 Hive生态链关系 二、Hive架构 2.1 架构图 2.2 架构组件说明 2.2.1 Interface 2.2.1.1 CLI 2.2.1.2 JDBC/ODBC 2.2.1.3 WebUI 2.2.2 MetaData 2.2.3 MetaStore 2.2…

tokenizers总结

简介 tokenize的目标是把输入的文本流&#xff0c;切分成一个个子串&#xff0c;每个子串相对有完整的语义&#xff0c;便于学习embedding表达和后续模型的使用。 tokenize有三种粒度&#xff1a;word/subword/char word词&#xff0c;是最自然的语言单元。对于英文等自然语…

通过数据导入导出功能批量重命名文件名称更简单

在日常工作中&#xff0c;我们经常需要对大量的文件进行重命名&#xff0c;以方便管理和查找。然而&#xff0c;手动一个一个修改文件名称的方式不仅费时费力&#xff0c;而且容易出错。为了提高工作效率&#xff0c;我们可以使用一款名为“固乔文件管家”的软件来实现文件的批…

【MySQL多表查询以及事务、索引】

1. 多表查询 1.1 概述 1.1.1 数据准备 #建议&#xff1a;创建新的数据库 create database db04; use db04;-- 部门表 create table tb_dept (id int unsigned primary key auto_increment comment 主键ID,name varchar(10) not null unique comment 部门名称…

基于自编译的onlyoffice镜像,关于修改字体的问题

基于自编译的onlyoffice镜像&#xff0c;关于修改字体的问题 自编译onlyoffice镜像来自于 https://blog.csdn.net/Gemini1995/article/details/132427908 该镜像里面没有documentserver-generate-allfonts.sh文件&#xff0c;所以需要自己创建一个&#xff08;建议放在/usr/b…