第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() # 进入消息循环
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() # 进入消息循环
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()