目录
程序的组织结构
程序的组织结构包括顺序结构、选择结构【if】以及循环结构[for/while]组成。
顺序结构
顺序结构: 从上往下顺序执行,没有判断和跳转。
print("程序开始")
print('打印1')
print('打印2')
print('打印3')
print("程序结果")
# 打印结果:
# 程序开始
# 打印1
# 打印2
# 打印3
# 程序结果
选择结构
选择结构:程序根据判断条件的布尔值选择性地执行部分代码
单分支结构
- 语法结构
if 条件表达式 :
条件执行体 - 例子
age = 18
if age>= 18:
print('已经成年了')
# 打印结果:
已经成年了
双分支结构
- 语法结构
if 条件表达式 :
执行体1
else:
执行体2 - 例子
# 从键盘录入一个整数,判断这个数是偶数或者奇数
num = int(input('请输入一个整数:'))
if num % 2 == 0:
print(num,'是一个偶数')
else:
print(num,'是一个奇数')
多分支结构
- 语法结构
if 条件表达式:
条件执行体
elif 条件表达式:
条件执行体
else:
条件执行体 - 例子
# 录入一个学生的成绩,并坐一下判断:
# 100-90分 A级
# 89-80 B级
# 79-70 C级
# 69-60 D级
# 59-0 E级
grade = int(input('请录入一个学生的成绩:'))
if grade >= 90 and grade <= 100:
print('A级',grade)
elif grade >= 80 and grade <= 89:
print('B级',grade)
elif grade >= 70 and grade <= 79:
print('C级',grade)
elif grade >= 60 and grade <= 69:
print('D级',grade)
elif grade >= 0:
print('E级',grade)
else:
print('输入值无效',grade)
嵌套if
- 语法结构
if 条件表达式1:
if 条件表达式2:
执行体1
else:
执行体2
else:
执行体3 - 例子
条件判断
- 语法结构
X if 条件表达式 else Y
备注:条件表达式为True,执行X,否则执行Y - 例子
# 录入两个整数,比较两数的大小
num1 = int(input('输入第一个数:'))
num2 = int(input('输入第二个数:'))
max_num = num1 if num1 >= num2 else num2
print(max_num)
pass语句
pass语句:占位符,什么也不做,用到需要语句的地方。
age = int(input('输入一个年龄:'))
if age >=0 and age <=120:
pass #作为占位符,代码逻辑占位置,使代码不会报错
else:
pass #作为占位符,代码逻辑占位置,使代码不会报错
循环结构 (while/for)
Range()
range(start,stop,step)—>返回迭代对象
start—开始
stop—结束(不包含)
step—步长
**优点:**不管range对象的整数序列有多长,所有range对象占用的内存空间都是相同的,仅需要存储star、stop和step。只有当用到range对象时,才会去计算序列中的相关元素。
in/not in 判断整数是否在range整数系列对象中。
例子:
# range()只有一个参数时,这个参数代表stop,start默认为0,步长默认为1
num1 = range(10)
print(num1) #range(0, 10)
print(list(num1)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# range()有两个参数时,第一个参数为start、第2个参数为stop、步长默认为1
num2 = range(1,10)
print(num2) #range(1, 10)
print(list(num2)) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
# range()三个参数
num3 = range(1,10,2)
print(num3) # range(1, 10, 2)
print(list(num3)) # [1, 3, 5, 7, 9]
in/not in 判断整数是否在range整数系列对象中。
num4 = range(1,5)
print(3 in num4) # True
print(3 not in num4) # False
while循环
- 语法结构:
while 条件表达式:
循环体
4步循环法: 初始化变量、条件判断、循环体、改变变量
- 例子
# 计算1-4的和
#1、初始变量
total = 0
num = 1
while num <=4 : # 2、条件判断
total += num # 3、循环体
num+=1 # 4、改变变量
print('计算1-4的结果为',total)
# 计算1-100的偶数和
total = 0
value = 1
while value <= 100:
if value % 2 == 0:
total += value
value += 1
print('计算1-100的偶数和为',total)
for-in循环
- 语法结构
for 自定义变量 in 可迭代对象:
循环体
备注:如果循环中不需要使用自定义变量,则可将自定义变量写成【_】
# 自定义变量不使用,则可以写成_
for _ in range(4):
print('大笑')
- 例子
# 使用for循环计算1-100的偶数和
total = 0
for i in range(1,101):
if i % 2 == 0:
total += i
print('1-100的偶数和为',total) # 1-100的偶数和为 2550
例子:输出100到999之间的水仙花数,举例:153 = 111+555+333,满足这个规律就是水仙花
# 输出100到999之间的水仙花数
for i in range(100,1000):
bai = i//100
shi = i%100//10
ge = i%10
# print(bai,shi,ge) #打印百位、十位、个位
if i == bai*bai*bai + shi*shi*shi + ge*ge*ge:
print(i)
流程控制语句-break
break语句:用于结束循环,通常与分支结构if一起使用
# 从键盘录入密码,最多录入3次,如果正取就结束循环
# for-in循环实现
for i in range(3):
passwd = input('请输入密码:')
if passwd == '9999':
print('密码输入正确')
break
else:
print('密码输入失败')
# while循环实现
num = 1
while num <= 3:
passwd = input('请输入密码:')
if passwd == '9999':
print('密码输入正确')
break
else:
print('密码输入失败')
num += 1
流程控制语句-continue
continue语句:用于结束当前循环,进入下次循环,和if一起使用。
# 输出1到50之间5的倍数
#使用for循环
for i in range(1,51):
if i % 5 != 0:
continue
print(i)
# 使用while循环
i = 1
while i <=50:
if i % 5 != 0:
i+=1
continue
print(i)
i+=1
else语句
while和for-in循环语句也可以和else一起使用,当循环是正常结束的,则会执行else;非正常结束【被break语句结束的循环】,则不执行else语句;
# while和else一起使用
#while循环正常结束,使用else
i = 1
while i <= 50:
if i % 5 != 0:
i+=1
continue
print(i)
i+=1
else:
print('上面打印的数字都是5的倍数')
# while循环非正常结束,则不执行else
i = 1
while i <= 10:
if i > 5 :
break #非正常结束循环,else语句不执行
print(i)
i+=1
else:
print('上面输出的数字都小于5')
# for循环非正常结束,不执行else语句
for i in range(1,10):
if i % 3 == 0:
break
print(i)
else:
print('打印')
嵌套循环
嵌套循环:多次循环嵌套,分为外层循环和内存循环。在嵌套循环中,break和continue只能控制本层循环,即只能结束本层的循环。
例子:打印九九乘法表
#打印九九乘法表
# for循环打印
for i in range(1,10):
for j in range(1,i+1):
print(j,'*',i,'=',j*i,end='\t')
print()
# while循环打印
i = 1
while i <= 9:
j = 1
while j <= i:
print(j,'*',i,'=',j*i,end='\t')
j+=1
print()
i+=1