8.2.4 自动售货机课件(共19张PPT)

资源下载
  1. 二一教育资源

8.2.4 自动售货机课件(共19张PPT)

资源简介

(共19张PPT)
你用自动售货机购买过零食吗?你是如何购买的呢?它可以重复输入多个购买的商品号,直到选择完毕才结算,实现一次购买多个商品吗?
粤教版八年级下册第二章第四节
自动售货机
问题
如何列出多项数据项
如何在程序中描述重复执行的操作
如何从多项数据中选择指定的数据项
分析问题
自动售货机是通过数字按键输入商品的编号来选择需要购买的物品,输入编号后按回车键确定,然后可以继续输入编号购买下一个商品;当输入数字0则表示结束选购,并输出商品的数量和总价。
分析问题
1、如下图,编号是一序列有顺序的数字,如果我们能让商品和价格也按编号的顺序排列并且保存起来,就可以通过输入编号来选购商品了。
商品编号 商品名称 商品价格/元
1 矿泉水 2
2 牛奶 4
3 橙汁 3
4 面包 3
5 蛋糕 4
2、消费者可以不断地加购商品,是一个重复执行的过程,可用循环结构来实现。
循环结构描述算法
自然语言描述
1、用户输入商品编号;
2、如果输入的编号不为0则进入第3步,否则跳到第4步;
3、输出当前选购的商品价格和名称,计算选购商品的数量和总价,等待用户输入下一件商品的编号;
4、结束购物,输出选购的商品总数和总价。
流程图描述
开始
输入商品编号
商品编号不为0
输出当前选购商品的名称和价格
计算选购商品的数量和总价
用户输入编号
输出已选购的商品数量和总价
结束
True
False
有些步骤可以反复执行的,这种重复执行的结构,我们称为循坏结构。
应用列表
如何将商品名称和价格按指定的顺序保存起来?
在python中,我们可以使用列表来保存一系列的数据,使其具有一定的顺序关系。
应用列表
1、创建列表
格式:
<列表名>=[<元素1>,<元素2>,……]
列表是包含多种类型数据的有序序列。所有数据用一组中括号括起来,每个数据之间用逗号隔开,列表中的数据可以是任意类型。
列表为每个元素都设立了一个索引号(序号),第一个元素索引号为0。
name=[“小王”,“小明”,“ 小红”]
number=[1,2,3,4,5]
score=[88.5,95,60,“缺考”]
列表 name
0
1
2
“小王”
“小明”
“小红”
例如:
索引号(序号)
应用列表
2、列表的操作
操作或命令 功能
Print (列表名) 输出列表所有元素
Print (列表名[n]) 输出列表中的序号为n的元素
Len(列表名) 列表中元素的数量
实践1
1、创建商品列表和价格列表,名称分别为goods和price。
2、设计只选购一个商品的程序,提示“请输入您要购买的商品编号:1-矿泉水;2-牛奶;3-橙汁;4-面包;5-蛋糕:”,当输入编号后则输出对应商品的名称和价格。执行效果如下:
goods=["矿泉水","牛奶","橙汁","面包","蛋糕"]#创建名称为goods的商品列表
price = [2, 4, 3, 3, 4] # 创建名称为price的价格列表
n = int(input("请输入您要购买的商品编号:1-矿泉水;2-牛奶;3-橙汁;4-面包;5-蛋糕:"))
print("您选择了",price[n-1],"元的",goods[n-1]) #因列表的第一个元素序号为0,因此输出价格为:price[n-1],商品名称为goods[n-1]
参考程序
While循环语句
如果要选购多个商品,需要不断重复以上的步骤,那在Python中有什么命令可以实现这个功能呢?
While循环语句
1、while循环语句的格式
while<条件表达式>:
循环体
当while后面的条件表达式结果为true,则执行while语句下面缩进的循环体,执行完循环体后,又回到while<条件>,检测<条件>是否成立,如果<条件>不成立,结束循环。
i=0
while i <5:
i=i+1
print(“ok”)
例如:
While循环语句
条件表达式
循环体
True
False
循环外语句
i 起了计时器的作用
与分支结构的if……else语句的功能类似,while语句也可以用else,在循环条件为false时执行else下面缩进的语句块。
i = 0
while i < 5:
i = i+1
print("ok")
else:
print("循环次数为",i, "次")
While循环语句
若需要程序可以无限循环,则可以将while后面的条件直接写成true或其他结果永远为True的表达式。如: while True:
while 1>0:
实践2
修改程序,让自动售货机可以选购多个商品的程序
goods = [“矿泉水”, “牛奶”, “橙汁”, “面包”, "蛋糕"] #创建名称为goods的商品列表,
price = [2, 4, 3, 3, 4] # 创建名称为price的价格列表
while True:
n = int(input("请输入您要购买的商品编号:1-矿泉水;2-牛奶;3-橙汁;4-面包;5-蛋糕:"))
print("您选择了", price[n-1], "元的", goods[n-1]) #因列表的第一个元素序号为0,因此输出价格为:price[n-1],商品名称goods[n-1]
程序参考
无限循环
2、设置循环条件
若希望输入0来表示选购商品结束,要如何实现?
While循环语句
while语句可以通过设置循环条件或者使用break命令来退出或者中断循环。
while条件设置为n!=0,表示“n不等于0”,这个条件成立则显示选购的商品继续等待输入编号;
如果“n不等于0”这个条件不成立则结束循环。
n!=0
输出当前选购商品的价格和名称
True
False
用户输入编号
输入商品编号
实践3
可以设置两个变量 s 和 t 分别用来保存商品的数量和总价,在循环体中增加统计商品数量和总价的语句。
设计“输入0时选购商品结束,并能显示已选购的数量和总价”的自动售货机程序
goods = ["矿泉水", "牛奶", "橙汁", "面包", "蛋糕"] # 创建名称为goods的商品列表
price = [2, 4, 3, 3, 4] # 创建名称为price的价格列表
s=0 #存储商品数量
t=0 #存储价格
n=int(input("请输入您要购买的商品编号:1-矿泉水;2-牛奶;3-橙汁;4-面包;5-蛋糕;输入0结束选购:"))
while n!=0:
s=s+1 #算出商品总数
t = t+price[n-1] #算出商品总的价格
print("您选择了", price[n-1], "元的", goods[n-1]) # 因列表第一个元素序号为0,价格为:price[n-1],商品名称为goods[n-1]
n=int(input("请继续输入商品的编号:"))
else:
print("您一共选择了",s, "件商品,需要支付",t,"元")
程序参考
小结
应用列表
自动售货机
while 循环语句
格式
列表的操作
格式
设置循环条件
<列表名>=[<元素1>,<元素2>,……]
while<条件表达式>:
循环体
while n!=0:
语句块
else:
语句块
print("您选择了", price[n-1], "元的", goods[n-1])
练习
1、计算机执行程序的过程中,有些步骤是可以反复执行的,这种重复执行的结构称为( )。
A、顺序结构 B、分支结构 C、循环结构
2、Python中,列表的格式是一个( )。
A、<列表名>=[<元素1>,<元素2>,……]
B、<列表名>=<[元素1],[元素2],……>
C、<列表名>=[<元素1>:<元素2>:……]
3、Python中,列表为每个元素都设立了一个索引号,第一个元素序号为( )。
A、-1 B、0 C、1
C
A
B
粤教版八年级下册第二章第四节
谢谢

展开更多......

收起↑

资源预览