1.条件控制语句
- 条件控制语句,也可以称之为判断语句,通过一条或多条的执行结果来决定接下来要执行的代码块。
1)if语句
- if语句是用来进行判断的,最简单的if语句只有一个判断一个操作
- 语法
- if 条件:
- 条件成立,执行代码块
代码
age = 20
name = '小明'
if age > 20:
print(name+"的年龄大于20")
# 两个等于是判断语句,一个等于是赋值
if age == 20:
print(name+"的年龄等于20")
运行结果

2)if-else语句
- 和其他语言一样,python中也提供了与if搭配使用的else语句,else表示否则,在没有通过if判断的时候,执行的另外一个操作。
- 语法
- if 条件:
- 满足条件执行的代码块1
- else:
- 没有满足if条件执行的代码块2
代码
age = 16
name = '小明'
if age >= 18:
print(name+"成年了!")
else:
print(name+"未成年!")
运行结果

3)if-elif-else
- 一个if只能有一个else,但是可以拥有多个elif,Python中没有switch-case,可以使用if-elif-else来代替
- 语法
- if 条件:
- 满足if条件执行的代码块1
- elif 条件2:
- 满足条件2执行的代码块2
- elif 条件3:
- 满足条件3执行的代码块3
- else:
- 不满足以上条件执行的代码块4
代码
age = 18
name = '小明'
if age > 18:
print(name+"成年了!")
elif age < 18:
print(name+"未成年!")
else:
print(name+"刚成年!")
运行结果

4)if嵌套
- if嵌套就是在if-elif-else结构中在嵌套另外一个if-elif-else结构
- 语法
- if 条件:
- 满足if条件执行代码块
- elif 条件1:
- if 条件1-1:
- 满足条件1-1执行代码块
- elif 条件1-2:
- 满足条件1-2执行代码块
- else:
- 都不满足执行代码块
- elif 条件2:
- 满足条件2执行代码块
- elif 条件3:
- 满足条件3执行代码块
- else:
- 都不满足执行代码块
代码
age = 18
name = '小明'
if age >= 20:
if age > 20 and age < 100:
print(name+"的年龄大于20")
elif age == 20:
print(name+"的年龄等于20")
else:
print("年龄不合法")
else:
print(name+"的年龄小于20")
运行结果

2.循环语句
- 循环语句就是在符合条件的情况下。重复执行一个代码段。Python中的循环语句有while和for。
1)while循环
- while是一个条件循环语句,与if一样,他也有条件表达式。如果条件为真,while中的代码就会一直循环执行,直到循环条件不再为真为止。
- 语法
- while 条件:
- 代码块
代码1
# 输出5遍Hello World!
i = 0
while i < 5:
print("Hello World!")
i += 1
运行结果1

代码2
# 计算1-100的和
i = 1 # 1-100的值
sum1 = 0 # 保存累加之后的结果
while i<=100:
sum1 += i
i += 1
print(sum1)
运行结果2

2)while循环嵌套
- 语法
- while 条件1:
- 满足条件1执行代码块1
- while 条件2:
- 满足条件1又满足条件2执行代码块2
代码
# 用while嵌套打印三角形*
# 三角形有5行
# 第一个while控制行数
# 第二个while控制星星个数
n = 5
i = 1 # 记录打印行数
while i <= n:
j = 1 # 记录星星的个数
while j <= i:
print("*",end='')
j += 1
print("这是第",i,"行")
i += 1
运行结果

3)while循环使用else语句
- while 条件:
- 满足条件执行代码块
- else:
- 不满足条件执行代码块
3.1)让用户控制循环条件
代码
flg = 'N'
while flg == 'N':
# print("是否退出程序()")
flg = input("是否退出程序(Y/N)")
else:
print("感谢使用程序!下次再见")
运行结果

3.2)使用break退出程序
- 在循环语句中使用break,就会退出程序,终止循环,并且不论循环语句的条件是否为真,都不在继续循环下去。
代码
n = 0
while n < 5:
n += 1
if n == 3:
break # 终止循环
print(n)
运行结果

3.3)在循环中使用continue
代码
n = 0
while n < 5:
n += 1
if n == 3:
continue # 退出当前循环,继续执行下一次循环
print(n)
运行结果

4)for语句
- for是Python中另外一个循环语句,提供了Python中最强大的循环结构,它可以循环遍历任何序列项目,如一个列表或者一个字符串
代码
# 使用for循环遍历
students = {'jack','tom','dany','kim'}
# for 变量 in 序列:
# for的代码段
for item in students:
print(item)
运行结果

4.1)在for循环中使用break和continue
代码
students = ['jack','tom','dany','kim']
for item in students:
if item == 'tom':
# break
continue
print(item) # break输出jack
运行结果

3.range()函数
- Python的range()函数可以生成数列,可以让for循环变成更加熟悉的语句
- range(start,end,step=1)
1)range()函数生成数列
- for i in range(8):
- print(i) # 0,1,2,3,4,5,6,7
2)range()函数生成区间值
- list1 = list(range(1,5))
- print(list1)
3)range()函数生成指定增量(步长)的数列
- list1 = list(range(1,10,2))
- print(list1)
代码
list1 = list(range(8))
print(list1)
list2 = list(range(1,5))
print(list2)
list3 = list(range(1,11,2))
print(list3)
运行结果

4)range()函数模拟使用索引遍历序列
代码1
students = ['jack','tom','john','amy','kim']
# 模拟索引获取序列元素
# 1.用range函数生成索引列表
# 2.通过range生成的索引去取列表的元素值
for i in range(len(students)):
# 0,1,2,3,4,5
print(students[i])
运行结果1

代码2
dict1 = {'name':'Tom','age':18,'sex':'男'}
# 1.将字典转化为可遍历的元祖
for key,value in dict1.items():
print(key,'=>',value)
for key in dict1:
print(dict1[key])
运行结果2

4.思考题
代码
sum1 = 0
for i in range(1,101,1):
sum1 += i
print(sum1)
运行结果
