今天讲的内容有:if多分支结构、三目运算符、for循环、while循环、continue和break。
if多分支结构
1. if多分支结构 - 根据不同的条件做不一样的事情
1)if - elif - else - 不同条件之间存在:其中一个条件成的时候,别的条件一定不会成立
if 条件1:
代码段1
elif 条件2:
代码段2
elif 条件3:
代码段3
...
else:
代码段N
执行特点:如果前面的条件成立,那么后面的条件不会再判断(后面的条件的判断是在前面的条件不成立的情况下进行的)
2) 单独使用多个if - 条件之间存在:其中一个条件成立,其他的条件也可能成立
if 条件1:
代码段1
if 条件2:
代码段2
if 条件3:
代码段3
...
练习1: 根据输入的年纪范围打印成年或者未成年,如果年龄不在正常范围内(0~150)打印这不是人!。
age = 35
if age < 0 or age > 150:
print('这不是人!')
elif age < 18:
print('未成年')
else:
print('成年')
练习2: 根据数字的值打印奇数、偶数和4的倍数
num = 25
if num % 2:
print('奇数')
else:
if num % 4 == 0:
print('4的倍数', end=' ')
print('偶数')
三目运算符
1. 三目运算
1)C、java、js中三目的运算符: ?:
表达式 1 ? 值1 : 值2 - 先判断表达式1的结果是否为真,如果是,整个运算表达式的结果是值1,否则是值2。
int a = 100;
int x;
x = a > 100 ? 10:20;
2)Python中的三目运算符
值1 if 表达式 1 else 值2 - 先判断表达式1的结果是否为True,如果是,整个运算表达式的结果是值1,否则是值2。
a = 100
x = 10 if a > 100 else 20
print(x)
for循环
1.循环结构 - 让代码重复执行
for _ in range(3):
print('hello world!')
2.for循环
1) 语法:
for 变量 in 序列:
循环体
2) 说明:
for、in - 关键字;固定写法
变量 - 变量名(可以是已经定义的变量的变量名,也可以是没有定义过的变量的变量名)。
序列 - 容器型数据类型的数据就是序列,例如:字符串、列表、字典、元组、集合、迭代器、生成器、range等。
: - 固定写法
循环体 - 结构上是和for保持一个缩进的一条或者多条语句(至少1条);逻辑上就是需要重复执行的代码。
3) 执行过程
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
for循环由序列中的元素的个数决定
4) range函数 - 产生一个等差数列的数字序列的函数
range(N) - 产生[0, N)步长为1的数字序列
range(3) -> 0, 1, 2
range(5) -> 0, 1, 2, 3, 4
range(M, N) - 产生[M, N)步长为1的数字序列
range(1, 5)-> 1, 2, 3, 4
range(10, 21) -> 10, 11, 12,..., 20
range(M, N, step) - 产生[M, N)步长为step指定值的数字序列,
range(1, 5, 2) -> 1, 3
range(10, 20, 3) -> 10, 13, 16, 19
range(20, 14, -1) -> 20, 19, 18, 17, 16, 15
练习:利用循环计算1+2+3+…+100的和 - 求和套路
sum1 = 0 # 保存最后的和
for x in range(1, 101):
sum1 += x # sum1 = sum1 + x
print(sum1)
统计1000以内能被3整除的数的个数
ount = 0 # 保存最后的个数
for x in range(1, 1000):
if x % 3 == 0:
count += 1
print(count)
统计1000以内能被3整除但是不能被7整除的数的个数
# 方法一:
count = 0
for x in range(1, 1000):
if x % 3 == 0 and x % 7 != 0:
count += 1
print(count)
# 方法二:
count = 0
for x in range(3, 1000, 3):
if x % 7 != 0:
count += 1
print(count)
while循环
1.while循环
1)语法:
while 条件语句:
循环体
2)说明:
while - 关键字,固定写法
条件语句 - 任何有结果的表达式(不能是赋值语法)
: - 固定写法
循环体 - 结构上和while保持一个缩进的一条或者多条语句;逻辑上就是需要重复执行的代码
3)执行过程:
先判断条件语句是否为True,如果为True就执行循环体,执行完循环体在判断条件语句是否为True, 为True又执行循环体,
以此类推,如果条件语句为False,循环就结束!
2. for循环和while的选择
循环次数确定的时候就使用for循环,循环次数不确定就使用while循环。
练习(循环次数不确定):提示用户输入密码,直到密码输入正确为止
pw = '123456' # 原密码
get_pw = None # 保存输入得到的密码
# 当输入的密码和原密码不相等的时候就提示输入
while get_pw != pw:
get_pw = input('请输入密码:')
continue和break
1. continue - 结束一次循环
当执行循环体的时候遇到了continue,那么这一次循环结束,直接进入下一次循环。
for x in range(10):
if x % 2:
continue
print(x) # 0,2,4,6,8
2. break - 结束整个循环
执行循环体的时候如果遇到了break,那么整个循环直接结束。
or x in range(1, 10):
if x % 3 == 0:
break
print(x)
3. while循环和break的配合
初学者的while循环
while True:
需要重复执行的代码
if 循环结束的条件:
break