完善下列Python代码# -- coding utf-8 --# 猜物价游戏 - GuessPrice项目模板# 通过按钮和文本框实现输入# 所有和游戏相关的输出都显示在控制台上# 步骤1 请在此处填写代码 分别导入math simpleguitk random 模块pass# 初始化全局变量random_num = 0 # 电脑生成的随机数初始化为0num_range = 10 #
-- coding: utf-8 --
猜物价游戏 - GuessPrice项目模板
通过按钮和文本框实现输入
所有和游戏相关的输出都显示在控制台上
import math import simpleguitk import random
初始化全局变量
random_num = 0 # 电脑生成的随机数,初始化为0 num_range = 10 # 生成随机数的范围 remain_time = 0 # 剩余的竞猜次数,初始化为0
自定义函数,用于游戏和新一轮游戏的启动
def new_game(): global random_num, num_range, remain_time remain_time = int(math.ceil(math.log(num_range + 1, 2))) print("\n欢迎来到购物街!") print("新一轮商品竞猜开始。竞猜价格范围从0到", num_range) print("总的竞猜机会有", remain_time,"次") random_num = random.randrange(0, num_range)
为控制面板定义事件处理程序
def range10(): # 改变竞价范围为[0,10)并重新启动游戏 global num_range num_range = 10 new_game()
def range100(): # 改变竞价范围为[0,100)并重新启动游戏 global num_range num_range = 100 new_game()
def range1000(): # 改变竞价范围为[0,1000)并重新启动游戏 global num_range num_range = 1000 new_game()
def input_guess(guess): # 游戏主要的逻辑设计在这一部分 # 首先判断竞猜机会是否已用完,如果没有用完就判断输入的价格和电脑产生的价格是否相同, # 根据比较结果输出相应内容,并修改剩余的竞猜次数。如果用完了竞猜机会就提示用户, # 并显示商品实际价格,然后重新开始游戏。 global remain_time remain_time -= 1 guess_num = int(guess) print("你的竞猜价格是:", guess_num)
if guess_num > random_num:
print("你的价格太高了!")
if remain_time > 0:
print("你还有", remain_time, "次机会。")
else:
print("你没有机会了!商品实际价格是:", random_num)
new_game()
elif guess_num < random_num:
print("你的价格太低了!")
if remain_time > 0:
print("你还有", remain_time, "次机会。")
else:
print("你没有机会了!商品实际价格是:", random_num)
new_game()
else:
print("恭喜你猜对了!商品实际价格是:", random_num)
new_game()
产生竞猜数
new_game()
创建框架
frame = simpleguitk.create_frame('GuessPrice', 300, 300)
为框架添加按钮
frame.add_button('0-10', range10, 200) frame.add_button('0-100', range100, 200) frame.add_button('0-1000', range1000, 200)
为框架添加文本框
frame.add_input('输入你的竞猜价格:', input_guess, 200)
启动框架
frame.start(
原文地址: https://www.cveoy.top/t/topic/eOsQ 著作权归作者所有。请勿转载和采集!