python基础语法(四)

感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接

🐒🐒🐒个人主页

🥸🥸🥸C语言

🐿️🐿️🐿️C语言例题

🐣🐓🏀python

这里写目录标题

顺序语句

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

python 复制代码
print("1")
print("2")
print("3")

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

条件语句

什么是条件语句

条件语句就是能表达出如果...那么 这样的语句,从而使计算机有了逻辑判定

条件语句也叫分支语句,表达出逻辑的几种走向,举个生活中的例子:

如果早上不吃早餐的话

那么就不会迟到

就不会被罚站

就不会被老师关怀

或者

如果 我认真学习

那么就有可能找到一个好工作

否则

我只能喝西北风

这里的我认真学习是条件,满足这个条件就可以执行对应的找到一个好工作

如果没有满足我认真学习这个条件,就执行对应的喝西北风

语法格式

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

if

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

if-else

python 复制代码
if 条件
do 语句1
else 
do 语句2

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

if-elif-else

python 复制代码
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中也有代码块

例题

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

注意上述代码的区别:

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

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

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

python 复制代码
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中缩进层次太多也会变得非常不好

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

python 复制代码
a = int(input("请输入一个整数:"))
if a == 1:
	print("hello")

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

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

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

循环语句

while循环

python 复制代码
基本语法格式
while 条件:
	循环体

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

代码示例

一 :打印 1-10 的整数

python 复制代码
num = 1
while num <= 10:
	print(num)
	num += 1

二:计算 1-100 的和

python 复制代码
sum = 0
num = 1
while num <= 100:
	sum += num
	num += 1
print(sum)

三: 计算 5 的阶乘

python 复制代码
result = 1
n = 1
while n <= 5:
	result *= n
	n += 1
print(result)

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

python 复制代码
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循环

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

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

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

代码示例

一:打印 1-10

python 复制代码
for i in range(1,11)
	print(i)

代码解析:range函数可以生成一个可迭代的对象,其范围是[1,11)就是[1,10]

(这里我不明白为什么11就是开区间,而1是闭区间,反正就这样记吧)

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

python 复制代码
for i in range(2, 12, 2):
	print(i)

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

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

三:打印 10-1

python 复制代码
for i in range(10, 0, -1):
	print(i)

公差其实也可以为负数

四:求 1 - 100 的和

python 复制代码
sum = 0
for i in range(1, 101):
	sum += i
print(sum)

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

continue循环

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

代码示例

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

python 复制代码
for i in range(1, 6):
	if i == 3:
		print(f"WC有虫子")
		continue
	print(f"吃完第 {i} 个包子")

break循环

break 表示结束整个循环

代码示例

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

python 复制代码
sum = 0
count = 0
while True:
	num = input("请输入数字:")
	if num == ';':
		break
	num = float(num)
	sum += num
	count += 1
print(sum / count)
相关推荐
DdddJMs__1351 分钟前
C语言 | Leetcode C语言题解之第557题反转字符串中的单词III
c语言·leetcode·题解
汤米粥4 分钟前
小皮PHP连接数据库提示could not find driver
开发语言·php
Fuxiao___5 分钟前
不使用递归的决策树生成算法
算法
冰淇淋烤布蕾7 分钟前
EasyExcel使用
java·开发语言·excel
我爱工作&工作love我10 分钟前
1435:【例题3】曲线 一本通 代替三分
c++·算法
拾荒的小海螺13 分钟前
JAVA:探索 EasyExcel 的技术指南
java·开发语言
秀儿还能再秀27 分钟前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
马剑威(威哥爱编程)38 分钟前
哇喔!20种单例模式的实现与变异总结
java·开发语言·单例模式
娃娃丢没有坏心思40 分钟前
C++20 概念与约束(2)—— 初识概念与约束
c语言·c++·现代c++
扣得君1 小时前
C++20 Coroutine Echo Server
运维·服务器·c++20