流程控制(1)
8.1.1python三大结构
- 程序从上往下进行执行
- 根据条件成立与否,选择相应的代码执行
- 根据条件重复执行代码,满足条件就执行,不满足就停止
8.2.1分支结构
1、单分支结构(if…)
if 条件:
代码语句
age = int(input('请输入年龄'))
if age>18 :
print('可以玩原神')
补充: 缩进tab键(四个空格)-----表示代码的权限
2、双分支结构if…else
- 如果满足条件就执行a语句,否则执行b语句
if 条件:
语句a
else:
语句b
age = int(input('请输入年龄'))
if age >= 18:
print('你已经成年了')
else:
print('你是未成年')
3、多分支结构(if…elif…else)
if 条件:
执行
elif 条件:
执行
elif 条件:
执行
else:
执行
# bmi指数 = 体重kg/身高**2
'''
bmi 小于18.4 瘦
18.5-23.9 标准
24-27.9 微胖
28 --胖
'''
hi = float(input('请输入你的身高:m'))
wi = float(input('请输入你的体重:kg'))
bmi = wi/(hi**2)
if bmi<=18.4:
print('太瘦了多吃点')
elif bmi>=18.5 and bmi<=23.9:
print('标准身材')
elif bmi>=24 and bmi <=27.9:
print('微胖')
elif bmi>=28:
print('注意运动')
4、pass语句(空语句,执行的时候没有任何的内容)
- 只有占位置的作用
age = int(input('请输入年龄'))
if age>18 :
pass
8.3.1循环结构
(1)while结构
- 满足条件就一直执行,不满足条件就停止。
- 条件为真就执行,条件为假就停止
a = 0
while a<10:
print(f'这是循环的第{a}')
a+=1
print('循环结束')
while 1(True):----(指定条件位真就会无限循环)
print(f'1')
while 1 :
a = input('请输入口令')
if a== '芝麻开门':
break
(2)for循环(遍历)
- for循环的次数跟成员个数有关
- for后面的变量可以直接写不需要赋值
- for循环的变量就是可迭代对象的成员
for 变量名 in 对象(可迭代对象):
代码语句
什么是可迭代对象:可以进行遍历的对象。
可迭代对象:列表,元组,字典集合,字符串,文件,生成器 都是可迭代对象。
遍历:把可迭代对象的成员进行挨个访问。访问完之后循环停止。
#我来说就是一个一个访问
singer = ['张杰','五百','刘德华','邓紫棋']
for i in singer:
if i =='刘德华':
print(i+'我是华仔')
#输出到刘德华的时候会输出
#刘德华我是华仔
a = {1:2,3:4,5:6}
for i in a:
print(i)
print(a[i])
遍历字典的话:i是字典的键
#就是说遍历完输出的是键咯
while循环根据条件满足与否进行循环,for循环根据对象进行遍历循环。
range 函数
生成指定区间的整数
for i in range(1,10): 包头不包尾
print(i)
for i in range(1,10,2): 指定步长
print(i)
for i in range(10): 省略开头 默认从0开始
print(i)
for i in range(0,101,2): 打印0-100 的偶数
print(i)
流程控制(2)
9.1.1分支结构的嵌套
if 条件:
if···
if···
elif
if···
if····
else
# 考试成绩分数90以上包含90 就可以进行抽奖活动
grade = int(input('请输入你的成绩'))
if grade>=90:
print('恭喜你获得抽奖机会')
y = int(input('请输入抽奖号码'))
if y==20:
print('apple手机')
elif y == 10:
print('现金红包1000000')
elif y == 8:
print('高端笔记本666个')
else:
print('十支笔')
else:
print('罚抄笔记,好好学习')
9.1.2 循环结构的嵌套
for i in range(1,6):
print(f'这是第{i}次循环')
day = 0
while day<7:
day+=1
print(f'这是第{day}天')
# 外层循环进行一次,内层循环就进行一个完整的循环
9.1.3分支结构与循环结构的嵌套
singer = ['刘欢','周杰伦','邓紫棋','刘德华','张杰','五百','许嵩','王菲','陈奕迅']
singer_3 = []
for i in singer:
if len(i) ==3:
singer_3.append(i)
print(singer_3)
-------------------------------------
s = 5
while s>0:
str1 = input('输入口令')
if str1 =='芝麻开门':
break
s -= 1
print('指令错误,重新输入')
if s == 0:
print('非法人员立即远离')
#五次机会输入的说
9.1.4 循环终止语句
break:跳出循环–跳出整个循环
continue:跳过本次循环,继续下次循环
s = 5
while s>0:
str1 = input('输入口令')
if str1 =='芝麻开门':
print('欢迎光临')
break
s -= 1
print('指令错误,重新输入')
if s == 0:
print('非法人员立即远离')
--------------------------------
for i in range(1,11):
if i ==3:
print(f'停电了')
break
print(f'第{i}个员工工作')
-----------------------------
for i in range(1,11):
if i == 3:
print(f'请假了')
continue
print(f'第{i}个员工工作')
小练习:
1、进行1-100数字累加
2、做一个石头剪刀布游戏
import random
li1 = ['剪刀','石头','布']
ai = random.choice(li1)
player = input('请出拳')
print(ai)
3、制作一个九九乘法表,输出阶梯式九九乘法表
流程控制小练习答案:
#1-100的数字累加
s = 0
for i in range(1,101):
print(i)
s += i
print(f'{i},{s}')
---------------------
num = 0
s = 0
while num<100:
num += 1
print(num)
s += num
print(f'{num},{s}')
----------------------
num = 1
s = 0
while num<101:
print(num)
s += num
num += 1
print(f'{num},{s}')
#2剪刀石头布
import random
li1 = ['剪刀','石头','布']
ai = random.choice(li1)
player = input('请出拳')
print(ai)
if ai == player:
print('平局')
elif player=='剪刀' and ai=='布' or player=='布' and ai=='石头' or player=='石头' and ai=='剪刀':
print('你赢了')
else:
print('你输了')
--------------------------------------
import random
li1 = ['剪刀','石头','布']
ai = random.choice(li1)
player = input('请出拳')
win = {'石头':'剪刀','剪刀':'布','布':'石头'}
if player == ai:
print('平局')
elif win[player] == ai:
print('你赢了')
else:
print('你输了')
for i in range(1,10): for j in range(1,i+1): print(f"{j}*{i}={i*j}",sep='',end='\t') print()