数字炸弹
使用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()
下面是运行结果
运行结果
这个运行结果没有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()
相关阅读
PS:为了面试准备的,总结的比较粗糙。 真值表/卡诺图 1.建立时间和保持时间 Setup time, Tsu 建立时间 在时钟沿到来之前数据稳定不
现在玩游戏的孩子很多,没有控制力,想要控制游戏的时间,该怎么控制呢?下面我们就来看看IPAD给应用设置使用时间限额的方法,请看下文详细
https://www.wandouys.com/video/play/59872-2-11.html 暂时没写多线程版 代码 import requests import re import multiproces
HTML<!doctype html> <html> <head> <meta charset="utf-8"> <title>Make Your Own Bingo Card</title> <script src="../../js/
现在人工作压力大,下班后难免会通过玩一些游戏来减压,在所有的游戏类型中,斗地主棋牌游戏受到不少人欢迎,一是操作简单,二是随玩随停没