第9章课后习题参考答案
一、设计题
1、设计一个程序,用两个文本框输入数值数据,用列表框存放“+、-、×、÷、幂次方、余数”。用户先输入两个操作数,再从列表框中选择一种运算,即可在标签中显示出计算结果。 实现简单加减乘除程序。使用两个单行文本框输入数字,使用列表框选择运算。
这是一个简单的加减乘除程序的实现思路:
创建一个窗口应用程序,并添加两个文本框和一个列表框,以及一个按钮。
在窗口应用程序的代码中,定义一个函数来执行加减乘除运算。该函数应该接受两个参数,即两个操作数,并根据用户选择的运算符执行相应的运算。
当用户点击按钮时,获取两个文本框中的数值,并从列表框中获取用户选择的运算符。然后调用上一步定义的函数来执行运算,并将结果显示在标签中。
参考代码:
from tkinter import *
li = ['加','减','乘','除']
root = Tk() # 创建窗口对象的背景色
l1 = Label(root, text="请输入第一个数")
l2 = Label(root, text="请输入第二个数")
listb = Listbox(root) # 创建两个列表组件
for item in li:
listb.insert(0,item)
l1.pack()
text1 = Text(root,width=20,height=4)
text1.insert(INSERT,'30')
text1.pack()
l2.pack()
text2 = Text(root,width=20,height=4)
text2.insert(INSERT,'70')
text2.pack()
listb.pack()
B = Button(text ="计算")
B.pack()
root.mainloop() # 进入消息循环
这是一个使用Tkinter库实现的简单的GUI界面,用于输入两个数值和选择运算符。下面是对代码的解释:
首先,通过导入Tkinter库来创建一个GUI窗口。
然后,创建两个标签(Label)用于提示用户输入两个数值。
接着,创建两个文本框(Text)用于用户输入数值,并设置默认值为30和70。
然后,创建一个列表框(Listbox)用于用户选择运算符,并将加、减、乘、除四个选项添加到列表框中。
最后,创建一个按钮(Button)用于触发计算操作。
启动GUI窗口的消息循环(mainloop),等待用户的操作。
注意,这段代码只是一个简单的GUI界面,没有实现计算操作。您需要编写适当的代码来实现计算操作,并将结果显示在GUI界面上。
2、编写选课程序。左侧列表框显示学生可以选择的课程名,右侧列表框显示学生已经选择的课程名,通过4个按钮在两个列表框中移动数据项。通过“〉”、“〈”按钮移动一门课程,通过“》”、“《”按钮移动全部课程。
参考代码:
from tkinter import *
root = Tk() # 创建窗口对象的背景色
# 创建两个列表
li = ['python', 'php', 'html', 'SQL', '可选']
movie = ['jQuery', '已选']
listb = Listbox(root) # 创建两个列表组件
listb2 = Listbox(root)
for item in li: # 第一个小部件插入数据
listb.insert(0, item)
for item in movie: # 第二个小部件插入数据
listb2.insert(0, item)
B1 = Button(text=">>")
B2 = Button(text="> ")
B3 = Button(text="<<")
B4 = Button(text="< ")
listb.pack(side=LEFT) # 将小部件放置到主窗口中
listb2.pack(side=RIGHT)
B1.pack()
B2.pack()
B3.pack()
B4.pack()
root.mainloop() # 进入消息循环
这是一个使用Tkinter库实现的简单的GUI界面,用于在两个列表框之间移动选项。下面是对代码的解释:
首先,通过导入Tkinter库来创建一个GUI窗口。
然后,创建两个列表框(Listbox)用于显示选项,并将选项添加到第一个列表框中。
接着,创建四个按钮(Button),分别表示将选项从第一个列表框移到第二个列表框、将选项从第二个列表框移到第一个列表框、将所有选项从第二个列表框移到第一个列表框、将所有选项从第一个列表框移到第二个列表框。
最后,将列表框和按钮放置在GUI窗口中,启动GUI窗口的消息循环(mainloop),等待用户的操作。
注意,这段代码只是一个简单的GUI界面,没有实现具体的功能。您需要编写适当的代码来实现将选项从一个列表框移到另一个列表框的操作。
3、使用Turtle画一个黄色实心五角星,运行效果如图所示。
参考代码:
import turtle
turtle.color('yellow')
turtle.fillcolor('yellow')
turtle.begin_fill()
for i in range(5):
turtle.forward(100)
turtle.right(144)
turtle.end_fill()
这是一个使用Turtle库(海龟绘图库)绘制五角星的示例代码。下面是对代码的解释:
首先,通过导入Turtle库来创建一个画布。
然后,设置画笔颜色和填充颜色为黄色。
接着,开始填充颜色。
然后,使用循环绘制五角星。在每一次循环中,向前移动100个像素,然后向右旋转144度,以绘制五角星的五个角。
最后,结束填充颜色。
运行代码后,将在画布上绘制一个黄色的五角星。