一、if多分支结构 ————根据不同的条件做不一样的事情
1. if - elif - else —— 不同条件之间存在:其中一个条件成立的时候,别的条件一定不会成立
if 条件1:
代码段1
elif 条件2:
代码段2
elif 条件3:
代码段3
...
else:
代码段N
执行特点:如果前面的条件成立,那么后面的条件不会再判断(后面的条件的判断是在前面的条件不成立的情况下进行的)
'''
score = 75
if score >= 90:
print('优秀')
elif score >= 75:
print('良好')
elif score >= 60:
print('中等')
else:
print('不及格')
2. 单独使用多个if —— 其中一个条件成立,其他的条件也可能成立
'''
if 条件1:
代码段1
if 条件2:
代码段2
if 条件3:
代码段3
...
'''
weight = 58
height = 1.72
if weight / height ** 2 < 18.5:
print('偏瘦')
elif weight / height ** 2 > 24.9:
print('偏胖')
else:
print('正常')
age = 27
if 0 < age < 18:
print('未成年')
elif 18 <= age < 150:
print('成年')
else:
print('这不是人')
a = 4
if a % 2 == 0:
if a % 4 == 0:
print('a即使偶数也是4的倍数')
else:
print('a是偶数')
else:
print('a是奇数')
二、三目运算符
'''
1)C、Java、js中的三目运算符:?:
表达式1?值1:值2 —— 先判断表达式1的结果是否为真,如果是,整个运算表达式的值为1
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循环次数由序列中的元素的个数决定
'''
for x in 'lql':
print(x)
for lql in 'successful':
print('年薪百万!')
print('做大做强,再创辉煌!')
for yt in 'one':
print('加油!')
3. range函数 —— 产生一个等差数列的数字序列的函数
"""
1)range(N) -- 产生[0,N)步长为1的数字序列
range(5) -> 0, 1, 2, 3, 4;
2)range(M, N) -- 产生[M, N)步长为1的数字序列
range(10, 15) -> 10, 11, 12, 13, 14;
3)range(M, N, step) -- 产生[M, N)步长为step指定值的数字序列
range(1, 5, 2) -> 1, 3;
range(10, 20, 4) -> 10, 14, 18;
range(30, 10, -5) -> 30, 25, 20, 15;
"""
for x in range(5):
print('x:', x)
for x in range(10, 15):
print('x:', x)
for x in range(5, 10, 2):
print('x:', x)
for x in range(20, 16, -1):
print('x:', x)
for x in range(-100, 1, 30):
print('x:', x)
sum1 = 0
for x in range(1, 101):
sum1 += x
print(sum1)
"""
sum1 = 0
x = 1: sum1 += x -> sum1 += 1 -> sum1 = 1
x = 2: sum1 += x -> sum1 += 2 -> sum1 = 3
x = 3: sum1 += x -> sum1 += 3 -> sum1 = 6
...
"""
sum2 = 0
for x in range(3, 100, 3):
sum2 += x
print(sum2)
sum3 = 1
for x in range(1, 11):
sum3 *= x
print(sum3)
count = 0
for x in range(0, 1000):
if x % 3 == 0:
count += 1
print(count)
count = 0
for x in range(0, 1000, 3):
count += 1
print(count)
count = 0
for x in range(0, 1000, 3):
if x % 7 != 0:
count += 1
print(count)
count = 0
for x in range(1, 1000):
if x % 3 == 0 and x % 7 != 0:
count += 1
print(count)
四、while循环
1. while循环
"""
语法:
while 条件语句:
循环体
说明:
while -- 关键字,固定写法
条件语句 -- 任何有结果的表达式(不能是赋值语句)
: -- 固定写法
循环体 -- 结构上和while保持一个缩进的一条或者多条语句;逻辑上就是需要重复执行的代码
执行过程:
先判断条件语句是否为True,如果为True就执行循环体,执行完循环体再判断条件语句是否为True,为True又执行循环体,
以此类推,如果条件语句为False,循环结束!
"""
x = 0
while x < 10:
print('hello!')
x += 1
"""
x = 0
x < 10 -> 0 < 10 -> True: print('hello!'); x += 1 -> x = 1
x < 10 -> 1 < 10 -> True: print('hello!'); x += 1 -> x = 2
...
x < 10 -> 9 < 10 -> True: print('hello!'); x += 1 -> x = 10
x < 10 -> 10 < 10 -> False: 循环结束
"""
x = 2
while x < 18:
print(x)
x += 3
2. for循环和while循环的选择
"""
循环次数确定的时候就使用for循环,循环次数不确定就使用while循环
"""
password = '123456'
get_password = None
while get_password != password:
get_password = input('请输入密码:')
"""
请输入密码: 123
请输入密码: 321
...
请输入密码: 123456
"""
五、continue和break
1. continue —— 结束一次循环
"""
当执行循环体的时候遇到了continue,那么这一次循环结束,直接进入下一次循环
"""
for x in range(10):
if x % 2:
continue
print(x)
2. break —— 结束整个循环
"""
执行循环体的时候如果遇到了break,那么整个循环直接结束
"""
print('===================')
for x in range(1, 10):
if x % 3 == 0:
break
print(x)
3. while循环和break的配合
"""
初学者的while循环
while True:
需要重复执行的代码
if 循环结束的条件:
break
"""
password = '123456'
while True:
get_password = input('请输入密码:')
if get_password == password:
break