一、编程题目
编程题目:猜数字游戏
系统随机生成一个指定范围的整数(如0-100),让玩家来猜,玩家猜数字后,系统给予玩家提示是否猜大了还是猜小了,直到玩家猜对为止,最后统计玩家猜的次数。
二、程序设计
实现该猜数字游戏,我们需要设计如下几个方面的功能:
1、设计游戏菜单,包括开始游戏,结束游戏,游戏设置,然后让玩家选择相应的功能;
2、实现开始游戏功能,随机生成指定范围的随机数,然后让玩家猜测并统计猜对需要多少次;
3、玩家玩完一局游戏可以选择退出游戏或者再来一局;
4、玩家可以设置随机数字生成的范围是多少。
三、代码实现
1、实现游戏菜单方法,打印出游戏的功能选项有哪些:
# 游戏菜单 def menu(onemore): print('猜数字游戏'.center(40, '*')) if onemore: print('1.再来一局'.center(40, '*')) else: print('1.开始游戏'.center(40, '*')) print('2.游戏设置'.center(40, '*')) print('3.退出游戏'.center(40, '*'))
2、实现开始游戏功能,实现随机数字的生成和玩家猜测数字、统计猜对需要的次数等功能。
def playGame(num_range): number = random.randint(num_range[0], num_range[1]+1) print('已生成{}~{}之间的随机数字:***'.format(num_range[0],num_range[1])) guss_count = 0 # 猜对需要的次数 while True: gusss = int(input('请猜测该数字是:')) guss_count += 1 if gusss > number: print('大了!') elif gusss < number: print('小了!') else: print('恭喜你,猜对了!') break print('您一共猜了{}次'.format(guss_count))
3、实现游戏设置功能,实现玩家自定义游戏随机数的生成范围。
# 游戏设置 def set_game(): while True: num_range = input('请输入要猜测的数字范围,如10 100:').split() num_s = int(num_range[0]) num_e = int(num_range[1]) if num_s >= num_e: print('您输入的数字范围有误,请重新输入!') else: print('设置成功!') num_range = [num_s, num_e] break return num_range
4、实现主函数,显示游戏菜单,根据玩家的操作,调用相应的游戏功能。
if __name__ == '__main__': num_range = [0, 100] # 猜测的数字范围 one_more = False while True: menu(one_more) select = int(input('请选择操作:')) if select == 1: playGame(num_range) one_more = True elif select == 2: num_range = set_game() else: print('已成功退出游戏!') break
四、玩家玩游戏
1、 运行游戏
2、选择1开始游戏
3、开始猜测生成的数字:
4、回到游戏菜单,选择游戏设置,设置数字的范围
5、选择再来一局1
6、猜测该数字是多少: