数字爆炸小游戏
“”"
任务一作业:
利用Python开发一个“智能”猜数游戏
基本要求:
1.菜单(开始游戏,退出游戏)
2.每次猜数后有猜数范围提示
3.允许小数输入
4.目标值随机生成
5.程序可循环执行
拓展要求(选做):
有图形化界面而非控制台程序;对非数字字符输入有处理(例如:提示输入非法,请重新输入)
涉及知识点:
字符输入输出;数值类型转换;逻辑设计(if,while,for等);字符串处理函数;异常处理;随机数生成等。
代码解释
from random import uniform
# 引入一个能产生随机数的模块方法
def Helps():
print("——" * 5)
print(" " * 4 + " 数字爆炸 " + " " * 4)
print("——" * 5)
print("""
输入您猜想的数\n\t弹出范围后继续猜测直到猜对游戏结束\n
游戏开始(Y/y) | 游戏结束(N/n)
""")
print("-" * 19)
"""
开始界面
"""
def Game(num):
# 产生浮点随机数
random_num = uniform(0, 50)
# 将随机数精度化为 .1
random_num = round(random_num, 1)
# 范围值(0~50)
min_num, max_num = 0.0, 50.0
while(num != random_num):
# 根据输入判断新范围
if num < random_num and num > min_num:
min_num = num
elif num > random_num and num<max_num:
max_num = num
print("random_num in ", min_num,"-", max_num)
num = float(input("输入您再判断的值:"))
if random_num == num:
print("\n\n\n恭喜您猜对了\n\n\n")
break
guessing_num = 0 # 随机数
Helps() #欢迎界面
print("您的操作是:", end="")
key = input()
if key == 'Y' or key == 'y':
while True:
# 对非数字输入进行异常处理
try:
guessing_num = float(input("您首次猜测的数字是:"))
except ValueError:
guessing_num = float(input("请正确输入输入数字:"))
# 解决输入异常之后进入游戏
Game(guessing_num)
# 出来之后再次选择游戏或退出
Helps()
print("您的操作是:", end="")
key = input()
if key != 'Y'or key != 'y':
print("客观再来玩呀~")
exit()
else:
print("客观再来玩呀~")
exit()