默认情况下,程序从上往下一条一条的执行,每一条语句都会执行并且只会执行一次
如果xxx就xxx(满足条件执行某个操作,条件不满足的时候这个操作就不执行)
# 语法
if 条件语句:
代码段
说明:
执行过程:先判断条件语句是否成立(如果条件语句的结果不是布尔,就转换成布尔看是否是True),如果成立就执行代码段;条件不成立,代码段就不执行。
age = 18
if age >= 18:
print('成年!')
num = 230
if num % 2 == 0:
print('偶数')
# 运行结果
'''
成年!
偶数
'''
如果xxx就xxx否则就xxx(条件成立执行某个操作,不成立就执行另外一个操作)
# 语法
if 条件语句:
代码块1(满足条件执行的代码)
else:
代码块2(不满足条件执行的代码)
练习1:根据age的值打印成年或者未成年
age = 29
if age < 18:
print('未成年')
else:
print('成年')
# 运行结果
'''
成年
'''
练习2:根据year的值打印’闰年’或者’平年’
year = 2004
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print('闰年')
else:
print('平年')
# 运行结果
'''
闰年
'''
使用elif对应的对分支结果(多个条件之间存在’其中一个条件成立,另外的条件就不成立’的情况)
# 语法
if 条件1:
代码块1
elif 条件2:
代码块2
elif 条件3:
代码块3
.
.
.
else:
代码块n
注意:后面的条件是在前面的条件不成立的基础上进行判断的。如果前面的某个条件成立,后面的条件不会再判断
案例1:根据百分制分数,给学生打等级:A(大于等于90分)、B([80,90))、C([60,80))、D(小于60)
score = 95
if score >= 90:
print('A')
elif 80 <= score:
print('B')
elif 60 <= score:
print('C')
else:
print('D')
# 运行结果
'''
A
'''
if分支结构的内部又有分支结构
案例:如果num是偶数就打印偶数,是奇数打印奇数,如果num能被4整除,打印’4的倍数’
num = 8
if num % 2 == 0:
print('偶数')
if num % 4 == 0:
print('4的倍数')
else:
print('奇数')
# 运行结果
'''
偶数
4的倍数
'''
结果1 if 条件 else 结果2
判断条件是否为True,如果为True整个运算结果就是结果1,否则整个运算结果是结果2。
age = 18
result = '未成年' if age < 18 else '成年'
print(result)
# 运算结果
'''
成年
'''
让代码重复执行(代码写一遍,重复执行多次)
# 语法
for 变量 in 序列:
循环体
说明:
执行过程:让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
(想要控制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!
100
'''
用于创建一个等差数列
一般搭配for循环使用
for x in range(10):
print(x, end=' ')
# 运行结果
'''
0 1 2 3 4 5 6 7 8 9
'''
for x in range(10, 16):
print(x, end=' ')
# 运行结果
'''
10 11 12 13 14 15
'''
for x in range(9, 0, -2):
print(x, end=' ')
# 运行结果
'''
9 7 5 3 1
'''
# 语法
while 条件语句:
循环体(需要重复执行的代码)
其他代码
执行过程:
案例1: 打印0、1、2、3、4、5、…、20
num = 0
while num <= 20:
print(num, end=' ')
num += 1
# 运行结果
'''
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
'''
案列2: 提示用户输入密码,直到输入正确为止。
pwd = '156234' # password
value = None
while value != pwd:
value = input('请输入密码(6位):')
print(value)
# 运行结果
'''
141141
25315125
156234
'''
循环次数不确定 - 程序员在写代码的时候无法确定(确认)这个循环会重复多少次(次数有使用程序的用户决定的)
循环关键字有:continue、break、else
continue和break只能出现在循环体中
continue - 结束一次循环(结束当前这次循环)
for i in range(1,11):
if i % 3 == 0:
continue
print(i, end=' ')
# 运行结果
'''
1 2 4 5 7 8 10
'''
for i in range(1,11):
if i >= 6:
break
print(i, end=' ')
# 运行结果
'''
1 2 3 4 5
'''
使用方法
while True:
循环代码
if 结束条件:
break
案例
import random as rd
num = rd.randint(0,100)
while True:
value = int(input('请输入你猜的数字:'))
if value == num:
print(num, value, '恭喜你,猜对了!')
break
elif value > num:
print(value, '大了,再小点儿!')
else:
print(value, '小了,再大点儿!')
# 运行结果
'''
50 大了,再小点儿!
25 小了,再大点儿!
37 小了,再大点儿!
43 43 恭喜你,猜对了!
'''
for 变量 in 序列:
循环体
else:
代码段
while 条件语句:
循环体
else:
代码段
for x in range(5):
print(x, '====')
else:
print('else!')
# 运行结果
'''
0 ====
1 ====
2 ====
3 ====
4 ====
else!
'''