1、完善python程序,使用Simpleguitk创建一个窗口。当用户在窗口中点击鼠标时,在窗口中显示鼠标点击的坐标。
import simpleguitk as simplegui
# 全局变量
click_pos = []
def draw_handler(canvas):
# 绘制点击位置的文本
if click_pos:
canvas.draw_text("Clicked at: " + str(click_pos), (20, 20), 16, "White")
def mouseclick_handler(pos):
# 处理鼠标点击事件
global click_pos
________________ #将鼠标点击的位置坐标存储在click_pos中。
# 创建窗口和事件处理函数
frame = simplegui.create_frame("Mouse Click Position", 400, 400)
frame.set_draw_handler(draw_handler)
frame.set_mouseclick_handler(__________)
frame.start()
答案:
import simpleguitk as simplegui
# 全局变量
click_pos = []
def draw_handler(canvas):
# 绘制点击位置的文本
if click_pos:
canvas.draw_text("Clicked at: " + str(click_pos), (20, 20), 16, "White")
def mouseclick_handler(pos):
# 处理鼠标点击事件
global click_pos
click_pos = pos # 将鼠标点击的位置坐标存储在click_pos中
# 创建窗口和事件处理函数
frame = simplegui.create_frame("Mouse Click Position", 400, 400)
frame.set_draw_handler(draw_handler)
frame.set_mouseclick_handler(mouseclick_handler)
frame.start()
2. 完善Python程序,使用Simpleguitk创建一个窗口。在窗口中随机生成一个点,当用户点击该点时,程序应在窗口上显示一个新的随机点,并增加用户的得分。
import simpleguitk as gui
import random
# 全局变量
canvas_width = 400 #画布宽度
canvas_height = 400 #画布高度
score = 0 #分数值,每生成一个小球,score+1
target_position = [0, 0] #圆的坐标
radius = 25 #圆的半径
# 生成随机点的函数
def new_game ():
global target_position
target_position = [random.randint(0, canvas_width), random.randint(0, canvas_height)]
# 点击事件处理函数
def click(pos):
global score
if (pos[0] - target_position[0]) ** 2 + (pos[1] - target_position[1]) ** 2 < 25 ** 2:
score += 1
new_game ()
# 画布绘制函数
def draw(canvas):
canvas.draw_circle(______, ______, 2, "Red", "Red")
canvas._____("分数为: " + str(score), (10, 30), 24, "White")
# 创建窗口
frame = gui.create_frame("点击目标", canvas_width, canvas_height)
frame.set_draw_handler(draw)
frame.set_mouseclick_handler(_____)
# 初始化游戏
new_game()
# 启动窗口
frame.start()
答案:
import simpleguitk as gui
import random
# 全局变量
canvas_width = 400 # 画布宽度
canvas_height = 400 # 画布高度
score = 0 # 分数值,每生成一个小球,score+1
target_position = [0, 0] # 圆的坐标
radius = 25 # 圆的半径
# 生成随机点的函数
def new_game():
global target_position
target_position = [random.randint(radius, canvas_width - radius), random.randint(radius, canvas_height - radius)]
# 点击事件处理函数
def click(pos):
global score
if (pos[0] - target_position[0]) ** 2 + (pos[1] - target_position[1]) ** 2 < radius ** 2:
score += 1
new_game()
# 画布绘制函数
def draw(canvas):
canvas.draw_circle(target_position, radius, 2, "Red", "Red")
canvas.draw_text("分数为: " + str(score), (10, 30), 24, "White")
# 创建窗口
frame = gui.create_frame("点击目标", canvas_width, canvas_height)
frame.set_draw_handler(draw)
frame.set_mouseclick_handler(click)
# 初始化游戏
new_game()
# 启动窗口
frame.start()
3、完善Python程序,模拟一个待办事项列表:创建一个空列表 todo_list,用于存储待办事项;实现一个函数 add_item(item),用于将待办事项添加到列表中。实现一个函数 remove_item(item),用于从列表中删除指定的待办事项。实现一个函数display_list(),用于显示当前待办事项列表。使用一个循环来模拟用户与待办事项列表的交互,用户可以选择添加、删除或显示待办事项。当用户选择退出时,程序结束。
# 创建一个空的待办事项列表
todo_list = []
# 添加待办事项的函数
def add_item(item):
todo_list._____(item) #添加待办事项
# 删除待办事项的函数
def remove_item(item):
if item in todo_list:
todo_list._____(item) #删除待办事项
else:
print(f"'{item}' 不在待办事项列表中.")
# 显示待办事项列表的函数
def display_list():
if len(todo_list) == 0:
print("待办事项列表为空.")
else:
print("待办事项列表:")
for i in range(len(todo_list)):
print(f"{i + 1}. {todo_list[i]}")
# 主程序
while True:
print("\n待办事项列表程序")
print("1. 添加待办事项")
print("2. 删除待办事项")
print("3. 显示待办事项")
print("4. 退出")
choice = input("请选择操作 (1/2/3/4): ")
if choice == "1":
item = input("请输入待办事项: ")
add_item(item)
print(f"'{item}' 已添加到待办事项列表.")
elif choice == "2":
item = input("请输入要删除的待办事项: ")
_____(item)
elif choice == "3":
display_list()
elif choice == "4":
print("谢谢使用,程序结束.")
break
else:
print("无效的选项,请重新选择.")
答案:
# 创建一个空的待办事项列表
todo_list = []
# 添加待办事项的函数
def add_item(item):
todo_list.append(item) # 添加待办事项
# 删除待办事项的函数
def remove_item(item):
if item in todo_list:
todo_list.remove(item) # 删除待办事项
else:
print(f"'{item}' 不在待办事项列表中.")
# 显示待办事项列表的函数
def display_list():
if len(todo_list) == 0:
print("待办事项列表为空.")
else:
print("待办事项列表:")
for i in range(len(todo_list)):
print(f"{i + 1}. {todo_list[i]}")
# 主程序
while True:
print("\n待办事项列表程序")
print("1. 添加待办事项")
print("2. 删除待办事项")
print("3. 显示待办事项")
print("4. 退出")
choice = input("请选择操作 (1/2/3/4): ")
if choice == "1":
item = input("请输入待办事项: ")
add_item(item)
print(f"'{item}' 已添加到待办事项列表.")
elif choice == "2":
item = input("请输入要删除的待办事项: ")
remove_item(item)
elif choice == "3":
display_list()
elif choice == "4":
print("谢谢使用,程序结束.")
break
else:
print("无效的选项,请重新选择.")
4,编写Python程序,分别使用while循环和for循环语句打印出1到10之间的所有奇数。
答案:
使用while循环
i = 1
while i <= 10:
if i % 2 != 0:
print(i)
i += 1
使用for循环
for i in range(1, 11):
if i % 2 != 0:
print(i)
5,请写出break和continue的区别。
答案:
- break:立即终止当前所在的循环,不再执行循环体中剩余的语句,跳出循环。
- continue:跳过当前循环中剩余的代码,继续执行下一次循环。
6,字典中的键和值有什么特点?字典中的 keys() 和 values() 方法有什么作用?
答案:
- 字典中的键和值的特点:
- 键(Key)必须是唯一的,且不可变(如整数、浮点数、字符串、元组)。
- 值(Value)可以是任意数据类型,并且可以是可变的。
- keys()和values()方法的作用:
- keys() 方法返回字典中所有键的视图对象。
- values() 方法返回字典中所有值的视图对象。