内容正文:
教科版(2019版) 信息技术(高中)
4.4 综合问题的解决
第4单元 计算与问题解决
必修1 数据与计算
“石头剪刀布”人机对战小游戏的Python代码运行结果及部分代码如下:
-----------------------------
请出拳:
剪刀
人—剪刀,机---布
赢
>>>
-----------------------------
import random
hand=["石头","剪刀","布"]
s=input("请出拳:")
p=hand.index(s) #取S在列表hand中对应元素的序号
c=random.randint(0,2) #随机生成0,1,2三个数代表计算机出拳
print("人--"+s+",机--"+__________)
if p-c in [-1,2]:
print("赢")
elif p-c==0:
print("平")
else:
print("输")
请根据程序运行结果补全代码:__________
hand[c]
剪刀石头布游戏
课堂导入
一、学会分析任务,描述需求分析,知道需要解决问题的关键。
二、体验剪刀石头布游戏,了解软件开发的基本流程。
学习目标
软件开发流程
一、需求分析
二、总体设计和详细设计
三、编码实现和测试
四、运行维护
一、需求分析:
需求分析阶段的任务:
确定软件系统的功能。通俗地讲就是确定需要计算机做什么,想达到什么样的效果,只有确定了这些需求后,才能够分析和寻求系统的解决方法。
“剪刀石头布游戏”软件的功能如下:
1、玩家点选“剪刀”“石头”“布”
按钮,出拳。
2、电脑随机出拳比较胜负。
显示玩家胜、负还是平局。
3、玩家玩游戏不限次数,
显示输赢平局和玩的局数。
一、需求分析:
综合考虑游戏功能,需要导入的模块有tkinter,random。
tkinter是实现图形用户界面的模块。导入该模块可以创建命令按钮(Button)、文本标签(Label)等交互对象。
random模块用于产生随机数。
二、总体设计和详细设计
总体设计就是在需求分析的基础上对模型细化、分解任务,明确程序由哪些模块组成。概括地说,就是系统应该如何实现。
程序主要由以下模块组成:
1、点击“剪刀”按钮、“石头”按钮、“布”按钮模块
2、显示玩家出的手势模块
3、随机显示电脑出的手势模块
4、判断玩家和电脑的胜负模块
二、总体设计和详细设计
详细设计主要指界面设计、过程设计等。
1、界面设计
(1)创建程序窗口
设置窗口的标题为“剪刀石头布游戏”,
宽为450,高为400
程序:
from tkinter import * #导入tkinter模块
top = Tk() #生成一个新窗口
top.title('剪刀石头布游戏') #窗口的标题
top.geometry('450x400') #窗口的大小
二、总体设计和详细设计
1、界面设计
(2)添加交互对象
设置显示玩家图片
程序:
image_kobe = PhotoImage(file='kobe_100.png')
label_image = Label(top,image=image_kobe)
label_image.place(x=50,y=40,ancho='nw')
说明:
①用PhotoImage函数创建一个Tkinter图像对象image_kobe
②将其传递给Label组件的image参数
③将Label组件添加到Tkinter窗口中
二、总体设计和详细设计
1、界面设计
(2)添加交互对象
设置显示玩家标签
程序:
label_human = Label(top,text = '玩家',
bg = 'green',
fg = 'Ghostwhite',
font = ('Arial',12) )
label_human.place(x=70,y=172,ancho='nw')
说明:
标签背景色为绿色
字体为Arial,大小为12
字体颜色白色
二、总体设计和详细设计
1、界面设计
(2)添加交互对象
设置剪刀石头布游戏按钮
程序:
def pass_function():
pass #pass语句是空语句,不做任何事情,通常用作占位符
button_main = Button(top,text = '剪刀石头布游戏 ',
bg = 'green',fg = 'Gho