精华 发表在 Python教程部落 11-23 21:08:49
在前一节的讲解中,我们已经学到了如何创建框架
在这一节我们将会学到如何判断是否正确
开始判断
首先,我们要把那个pass去掉(别问我为什么)
然后,我们还需要设定一个答案(使用random.randint来从1到var之间选一个数)
number = random.randint(1,int(var))
这里注意当我们设定var的时候,是一个字符串,就说明我们要把它转换成一个数字
然后,调用get方法来获取单行文本框的内容:
answer = entry.get()
然后,开始判断:
if answer == str(number):
pass
else:
pass
这里要把number转换为str(因为number是数字)
然后,我们如果answer大于或小于了number,我们要对它进行第二次判断:
def trying():
answer = entry.get()
if answer == str(number):
pass
else:
if answer > str(number):
pass
else:
pass
对话框
在这里我们还需要用到一个模块:tk.messagebox
tk.messagebox的方法很多,
例如:
tkinter.messagebox.showerror('错误','出错了')
tkinter.messagebox.showinfo('提示','人生苦短')
那么,我们可以把它换成pass里的代码:
代码如下:
def trying():
answer = entry.get()
if answer == str(number):
tkinter.messagebox.showinfo('提示','成功!')
exit()
else:
if answer > str(number):
tkinter.messagebox.showerror('错误','大了')
else:
tkinter.messagebox.showerror('错误','小了')
注意在答对时我们弹出窗口后就调用sys模块的exit函数
全部代码如下:
from tkinter import *
import random
import tkinter.messagebox
from sys import exit
'''===========start==========='''
tk = Tk()
tk.title("我的第一个猜数字游戏")
tk.geometry("300x200")
var = "100"
number = random.randint(1,int(var))
label = Label(tk,text="在1到%s中间选一个数吧"%var)
label.pack()
def trying():
answer = entry.get()
if answer == str(number):
tkinter.messagebox.showinfo('提示','成功!')
exit()
else:
if answer > str(number):
tkinter.messagebox.showerror('错误','大了')
else:
tkinter.messagebox.showerror('错误','小了')
entry = Entry(tk)
entry.pack()
button = Button(tk,text="确定",command=trying)
button.pack()
tk.mainloop()
谢谢大家~~
5 赞
3 赞
2 赞
1 赞
3 赞
233
,