1.顺序语句
默认情况下,Python的代码执行顺序是按照从上到下的顺序,依次执行的。
2.条件语句
条件语句能够表达“如果 ...否则 ...”这样的语义这构成了计算机中基础的逻辑判定条件语, 也叫做 分支语句。表示了接下来的逻辑可能有几种走向。
2.1语法格式
1)if
if expression:
do_something1
do_something2
next_something
如果 expression 值为 True, 则执行 do_something1, do_something2, next_something。 如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2。
2)if-else
if expression:
do_something1
else:
do_something2
如果 expression 值为 True, 则执行 do_something1 如果 expression 值为 False, 则执行 do_something2
3)if - elif - else
if expression1:
do_something1
elif expression2:
do_something2
else:
do_something3
如果 expression1 值为 True, 则执行 do_something1。 如果 expression1 值为 False, 并且 expression2 为 True 则执行 do_something2。 如果 expression1 值为 False, 并且 expression2 为 False 则执行 do_something3。
if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾.
if / else 命中条件后要执行的 "语句块", 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
对于多条件分支, 不是写作 else if, 而是 elif .
2.2缩进和代码块
代码块 指的是一组放在一起执行的代码. 在 Python 中使用缩进表示代码块. 不同级别的缩进, 程序的执行效果是不同的.
a = input("请输入一个整数: ")
if a == "1":
print("hello")
print("world")
print("world") 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件 不成立, 则不执行.
a = input("请输入一个整数: ")
if a == "1":
print("hello")
print("world")
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") 没有缩进, 无论上述两个条件是否成立, 该语句都会执行
2.3空语句 pass
a = int(input("请输入一个整数:"))
if a == 1:
print("hello")
这个代码也可以等价写成
a = int(input("请输入一个整数:"))
if a != 1:
pass
else:
print("hello")
3.循环语句
3.1while 循环
while 条件:
循环体
条件为真, 则执行循环体代码. 条件为假, 则结束循环.
num = 1
while num <= 10:
print(num)
num += 1
3.2 for 循环
for 循环变量 in 可迭代对象:
循环体
python 的 for 和其他语言不同, 没有 "初始化语句", "循环条件判定语句", "循环变量更新语句", 而是 更加简单
所谓的 "可迭代对象", 指的是 "内部包含多个元素, 能一个一个把元素取出来的特殊变量"
sum = 0
for i in range(1, 101):
sum += i
print(sum)
3.3 continue
continue 表示结束这次循环, 进入下次循环.
3.4break
break 表示结束整个循环
for i in range(1, 6):
if i == 3:
break
print(f"吃完第 {i} 个包子")