文章目录
- 顺序语句
- 条件语句
- 语法格式
- 缩进和代码块
- 空语句 pass
- 练习
- 循环语句
- while循环
- 语法格式
- 练习
- for循环
- 语法格式
顺序语句
默认情况下, Python 的代码执行顺序是按照从上到下的顺序, 依次执行的
print("1")
print("2")
print("3")
执行结果一定为 “123”, 而不会出现 “321” 或者 “132” 等. 这种按照顺序执行的代码, 我们称为顺序语句
条件语句
语法格式
# if
if 条件:事情1事情2
下一件事
#如果 条件 值为 True, 则执行 事情1, 事情2, 下一件事
#如果 条件值为 False, 则只执行 下一件事, 不执行 事情1, 事情2# if else
if 条件:事情1
else:事情2
# 如果 条件值为 True, 则执行 事情1
# 如果 条件值为 False, 则执行 事情2# if elif else
if 条件1:事情1
elif 条件2:事情2
else:事情3
# 如果 条件1 值为 True, 则执行 事情1
# 如果 条件1 值为 False, 并且 条件2 为 True 则执行 事情2
# 如果 条件1 值为 False, 并且 条件2 为 False 则执行 事情3
注意: Python中的条件语句写法, 和很多编程语言不太一样
- if 后面的条件表达式, 没有
( )
, 使用:
作为结尾 - if / else 命中条件后要执行的 “语句块”, 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是
{ }
- 对于多条件分支, 不是写作 else if, 而是 elif
示例:
choice = input("输入1 表示好好学习,输入2 表示躺平。")
if choice == "1":print("bright future")
elif choice == "2":print("confused tomorrow")
elseprint("输入有误,请输入 1 或 2 !!!")
缩进和代码块
Python中使用缩进来表示不同的代码块,不同级别的缩进,程序的执行效果是不同的。
# 代码1
num = input('请输入一个整数: ')
if num == '1':print('hello')print('world')# 代码2
num = input('请输入一个整数: ')
if num == '1':print('hello')
print('world')
- 在代码1 中, print(“world”) 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件不成立, 则不执行
- 在代码2 中, print(“world”) 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件无论是否成立, 都会执行.
另外, 代码块内部还可以嵌套代码块.
如果缩进层次比较多, 就容易分不清楚某个语句属于哪个层级
空语句 pass
Python语法规定,if语句、while语句、for语句、函数体、类定义等都不能为空,如果因为某些原因写了对应无内容的语句,就需要使用pass语句来避免语法报错
if a < b:passwhile a < b:passfor x in range(10):passdef func():passclass Class:pass
其中 pass 表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置, 保持 Python 语法格式符合要求
比如
# 正常运行,不报错
a = int(input("请输入一个整数:"))
if a != 1:pass
else:print("hello")# 报错
a = int(input("请输入一个整数:"))
if a != 1:else:print("hello")
练习
输入一个整数, 判定是否是奇数
a = int(intput("请输入一个整数: "))if a % 2 == 0:print("偶数")
else:print("奇数")
输入一个整数, 判定是正数还是负数
a = int(input('请输入一个整数: '))if a > 0:print('正数')
elif a < 0:print('负数')
else:print('0')
判定年份是否是闰年
year = int(input('请输入一个年份: '))if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):print('闰年')
else:print('平年')
循环语句
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)
for循环
语法格式
for 循环变量 in 可迭代对象:循环体
注意:
- python 的 for 和其他语言不同, 没有 “初始化语句”, “循环条件判定语句”, “循环变量更新语句”, 而是更加简单
- 所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”
比如:
# 打印1-10
for i in range(1, 11):print(i)
# 使用 range 函数, 能够生成一个可迭代对象. 生成的范围是 [1, 11)# 打印 2, 4, 6, 8, 10
for i in range(2, 12, 2):print(i)
# 通过 range 的第三个参数, 可以指定迭代时候的 "步长". 也就是一次让循环变量加几.# 打印 10-1
for i in range(10, 0, -1):print(i)
# range 的 步长 也可以设定成负数# 求 1 - 100 的和
sum = 0
for i in range(1, 101):sum += i
print(sum)
- continue 表示结束这次循环, 进入下次循环
- break 表示结束整个循环