资源简介 (共19张PPT)你用自动售货机购买过零食吗?你是如何购买的呢?它可以重复输入多个购买的商品号,直到选择完毕才结算,实现一次购买多个商品吗?粤教版八年级下册第二章第四节自动售货机问题 如何列出多项数据项 如何在程序中描述重复执行的操作 如何从多项数据中选择指定的数据项分析问题自动售货机是通过数字按键输入商品的编号来选择需要购买的物品,输入编号后按回车键确定,然后可以继续输入编号购买下一个商品;当输入数字0则表示结束选购,并输出商品的数量和总价。分析问题1、如下图,编号是一序列有顺序的数字,如果我们能让商品和价格也按编号的顺序排列并且保存起来,就可以通过输入编号来选购商品了。商品编号 商品名称 商品价格/元1 矿泉水 22 牛奶 43 橙汁 34 面包 35 蛋糕 42、消费者可以不断地加购商品,是一个重复执行的过程,可用循环结构来实现。循环结构描述算法自然语言描述1、用户输入商品编号;2、如果输入的编号不为0则进入第3步,否则跳到第4步;3、输出当前选购的商品价格和名称,计算选购商品的数量和总价,等待用户输入下一件商品的编号;4、结束购物,输出选购的商品总数和总价。流程图描述开始输入商品编号商品编号不为0输出当前选购商品的名称和价格计算选购商品的数量和总价用户输入编号输出已选购的商品数量和总价结束TrueFalse有些步骤可以反复执行的,这种重复执行的结构,我们称为循坏结构。应用列表如何将商品名称和价格按指定的顺序保存起来?在python中,我们可以使用列表来保存一系列的数据,使其具有一定的顺序关系。应用列表1、创建列表格式:<列表名>=[<元素1>,<元素2>,……]列表是包含多种类型数据的有序序列。所有数据用一组中括号括起来,每个数据之间用逗号隔开,列表中的数据可以是任意类型。列表为每个元素都设立了一个索引号(序号),第一个元素索引号为0。name=[“小王”,“小明”,“ 小红”]number=[1,2,3,4,5]score=[88.5,95,60,“缺考”]列表 name012“小王”“小明”“小红”例如:索引号(序号)应用列表2、列表的操作操作或命令 功能Print (列表名) 输出列表所有元素Print (列表名[n]) 输出列表中的序号为n的元素Len(列表名) 列表中元素的数量实践11、创建商品列表和价格列表,名称分别为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=0while i <5:i=i+1print(“ok”)例如:While循环语句条件表达式循环体TrueFalse循环外语句i 起了计时器的作用与分支结构的if……else语句的功能类似,while语句也可以用else,在循环条件为false时执行else下面缩进的语句块。i = 0while i < 5:i = i+1print("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输出当前选购商品的价格和名称TrueFalse用户输入编号输入商品编号实践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、1CAB粤教版八年级下册第二章第四节谢谢 展开更多...... 收起↑ 资源预览