使用python做一个玩数字炸弹的游戏

时间:2024-04-12 18:35:59

         使用python3,数字炸弹游戏规则:在一个数字范围内,有一个数字作为炸弹,谁猜中这个炸弹就被惩罚。比如范围是1~100,炸弹是60,然后猜了一个数字是30,30不是炸弹,那么现在猜数字的范围就缩小到30~100,又猜了一个数字80,80也不是炸弹,那么现在又缩小范围到30~80,每次猜不能猜边界上的值,直到有人猜中这个炸弹,然后就受到惩罚。

        游戏规则了解过后,我们就开始写代码:

# coding=utf-8
# 猜数字游戏
__author__="沈老师"
import random
def paly():
    a=random.randint(2,99)  # 随机出现2到99之间的数
    start,end=1,100  #初始边界1和100
    while 1:
        b=int(input("请输入%d到%d之间的整数:"%(start,end)))
        if b==a:
            print("恭喜你中奖了")  #猜中炸弹提示
            break
        elif b>a:
            if b>=end:
                print("输入不合法,请重新输入:")  #不能猜边界上和边界外的值
            else:
                end=b
        else:
            if b<=start:
                print("输入不合法,请重新输入:")  #不能猜边界上和边界外的值
            else:
                start=b
if __name__=='__main__':
    paly()

 

 

       下面是运行结果

使用python做一个玩数字炸弹的游戏运行结果

 

 

这个运行结果没有UI界面,如果想要更高逼格一点,可以使用python自带的tkinter库设计出UI界面,然后我们做一下错误处理,只能输入正常的数字,输入错误的发出错误提示,代码如下:

# coding=utf-8
__author__="沈老师"
from tkinter import *
import tkinter.messagebox as tm
import random
def play():
    a=random.randint(2,99)
    start,end=1,100
    for j in range(100):
        try:
            root=Tk()
            root.title("猜数字")
            Label(root,text="请输入%d到%d之间的整数:"%(start,end),font=("Arial",35)).grid(row=0,column=0)
            num=Entry(root,width=20)
            num.grid(row=0,column=1)
            Button(root,text="Yes",command=root.quit,font=("Arial",30)).grid(row=1,column=1)
            root.mainloop()
            b=int(num.get())
            if b==a:
                tm.showinfo("提示","恭喜您猜中了")
                break
            elif b<start or b>end:
                tm.showinfo("提示","对不起,不能输入边界外的值,请重新输入。")
            elif b==start or b==end:
                tm.showinfo("提示","对不起,不能输入边界上的值,请重新输入。")
            elif b>a:
                end=b
                root.quit()
            else:
                start=b
                root.quit()
        except:
            tm.showinfo("提示","您输入的不是整数,请重新输入!")
if __name__=='__main__':
    play()

 

使用python做一个玩数字炸弹的游戏

使用python做一个玩数字炸弹的游戏

使用python做一个玩数字炸弹的游戏

使用python做一个玩数字炸弹的游戏