- 语法:
if 条件语句:
代码段
说明:
-
if :关键字;固定写法
-
条件语句:
- 可以是任何有结果的表达式(比如:具体的数据、运算表达式、已经定义过的变量等,只有赋值语句不。行);
- 一般将结果是布尔的表达式作为条件。
-
: (冒号): 固定写法(注意输入法问题)。
-
代码段:
- 结构上,就是和if保持一个缩进的一条或者多条语句(至少一条!!!);
- 逻辑上,就是满足条件才会执行代码。
-
执行过程:先判断条件语句是否成立(如果条件语句的结果不是布尔,就转换成布尔看是否是True),如果成立就执行代码段;条件不成立,代码段就不执行。
-
例:
age = 18
if age >= 18:
print('成年!')
num = 230
if num % 2 == 0:
print('偶数')
2. if 双分支结构 - 如果xxx就xxx否则就xxx(条件成立执行某个操作,不成立就执行另外一个操作)
-
语法:
if 条件语句:
代码段1(满足条件执行的代码)
else:
代码段2(不满足条件执行的代码) -
例:根据age的值打印成年或者未成年。
age = 29
if age < 18:
print('未成年')
else:
print('成年')
- 例:根据year的值打印’闰年’或者’平年’。
year = 2004
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print('闰年')
else:
print('平年')
3.if 多分支结构 - 如果xxx就xxx,如果xxx就xxx,如果xxx就xxx,…(根据不同的条件做不一样的事情)
-
方法1:直接多个单分支结构 (多个条件之间不存在’其中一个条件成立,另外的条件就不成立’的情况)。
if 条件1:
代码段1
if 条件2:
代码段2
if 条件3:
代码段3
… -
方法2:使用elif对应的对分支结果(多个条件之间存在’其中一个条件成立,另外的条件就不成立’的情况)。
if 条件1:
代码段1
elif 条件2:
代码段2
elif 条件3:
代码段3
…
else:
代码段N -
例:根据百分制分数,给学生打等级:A(大于等于90分)、B([80,90))、C([60,80))、D(小于60)。
# 方法1:
score = 95
if score >= 90:
print('A')
if 80 <= score < 90:
print('B')
if 60 <= score < 80:
print('C')
if score < 60:
print('D')
# 方法2:
score = 95
if score >= 90:
print('A')
elif 80 <= score:
print('B')
elif 60 <= score:
print('C')
else:
print('D')
4. if 嵌套
- if 分支结构的内部又有分支结构。
- 例:如果num是偶数就打印偶数,是奇数打印奇数,如果num能被4整除,打印’4的倍数’。
num = 6
if num % 2 == 0:
print('偶数')
if num % 4 == 0:
print('4的倍数')
print('====')
else:
print('奇数')
二、for 循环
1.循环结构
-
让代码重复执行(代码写一遍,重复执行多次)。
-
python实现循环结构的工具:for循环、while循环。
- 语法:
for 变量 in 序列:
循环体 - 说明
- for - 关键字,固定写法。
- 变量 - 变量名(可以是已经定义过的变量的变量名也可以是没有定义过的变量的变量名)。
- in - 关键字;固定写法
- 序列 - 必须是容器型数据类型的数据,例如:字符串、列表、字典、元组、集合、range、迭代器、生成器等。
- : (冒号) 固定写法
- 循环体:
- 结构上,循环体就是和for保持一个缩进的一条或者多条语句(至少一句)。
- 逻辑上,就是需要重复执行的代码。
- 执行过程:让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
- 想要控制for循环的循环次数,只需要控制序列中元素的个数。
- 例:
for x in 'abc':
print('x:', x)
print('hello world!')
print(100)
# 打印结果为:
'''
x: a
hello world!
100
x: b
hello world!
100
x: c
hello world!
'''
3.range函数
- 创建等差数列
-
range(N) :产生[0,N)的等差数列,差是1
例如:range(5) - 0,1,2,3,4 range(6) - 0,1,2,3,4,5 -
range(M, N) :产生[M,N)的等差数列,差是1
例如: range(5, 10) - 5、6、7、8、9 -
range(M, N, step) - 产生[M,N)的等差数列,差是step
例如:range(10, 20, 2) - 10,12,14,16,18 range(9, 0, -2) - 9, 7, 5, 3,1
- 例:
for x in range(10):
print(x)
print('------------------------------------华丽的分割线-----------------------------------')
for x in range(10, 16):
print(x)
print('------------------------------------华丽的分割线-----------------------------------')
for x in range(9, 0, -2):
print(x)
# 打印结果为:
'''
0
1
2
3
4
5
6
7
8
9
------------------------------------华丽的分割线-----------------------------------
10
11
12
13
14
15
------------------------------------华丽的分割线-----------------------------------
9
7
5
3
1
'''
三、for循环的应用
1. 累积求和
- 求和套路:
- 准备数据
- 定义变量保存最后的和(变量的默认值是0) 3)通过循环依次获取求和对象,得到一个求和对象就往保存和的变量中加一个
- 例:
sum1 = 0 # 1+2=3+3=6+4=10
for x in range(1, 101):
sum1 += x # sum1 = sum1 + x
print(sum1)
# 打印结果为:5050
2. 统计个数
-
定义变量保存最后的个数(变量默认值是0)。
-
通过循环获取每一个统计对象,获取到一个统计对象,个数就在原来的基础上加1。
-
例:统计nums中偶数的个数。
nums = [21, 23, 44, 89, 70, 66, 55]
count = 0
for x in nums:
if x % 2 == 0:
count += 1
print(count)
# 打印结果为:3



