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