学python第十四弹 GUI 猜数游戏
在前面哪一弹中,我们有一个简单的猜数游戏。
#代码清单1-2 猜数游戏
import random
secret = random.randint (1,99) #在一到九十九选择一个数
guess = 0
tries = 0
print('hi ,我是小白,我有一个秘密的数字')
print('它是从数字1-99,我将给你六次尝试的机会')
while guess !=secret and tries < 6:
guess = int(input('你猜到是什么数:'))#得到玩家猜到的数
if guess < secret :
print('太小了,继续加油')
elif guess >secret :
print('太大了,降低一些')
tries = tries +1 #用掉一次机会
if guess == secret :
print('wow 你太棒了 发现了这个秘密的数字 ')
else :
print('你的次数用完了,今天不是很幸运')
print('这个秘密的数字是',secret)
下面我们要来完善这个程序,不过这一次我们要使用 EasyGui 完成输入和输出。由代码清单6-5显示如下:
#代码清单6-5 使用Easyui 的猜数游戏
import random, easygui
secret = random.randint(1,99) #选一个秘密的数
guess = 0
tries = 0
easygui.msgbox('''hello 我是布鲁斯李,我有一个秘密的数,
它是从1-99中的任意一个,我会给你六次机会,猜对就给你宝藏。''')
while guess != secret and tries<6:
guess = easygui.integerbox('你猜的数是什么?:')
if not guess: break
if guess < secret:
easygui.msgbox(str(guess)+'太低了,可以猜高点')
elif guess > secret :
easygui.msgbox(str(guess)+'太高了,可以降低一点')
trie = tries +1
if guess ==secret:
easygui.msgbox('恭喜你,猜对了,宝藏是你的了')
else:
easygui.msgbox('没有机会了,这个秘密的数是:'+ str(secret))
点击OK
输入你猜的数。自己去试试吧。
其他 GUI 组件
EasyGui 还提供了另外的一些 GUI 组件,包括允许多重选择(而不是只选择一项)的选择框,还有一些特殊的对话框用来得到文件名等内容。利用 EasyGui,我们可以非常容易地生成一些简单的 GUI ,而且它隐藏了 GUI 涉及的很多复杂性,让你不再担心这些问题,后面我们还会讨论建立 GUI 的另一种方法,它可以提供更多的灵活性和控制。
如果你想要更多的了解 EasyGUI ,可以访问 EasyGui 主页, http://easygui.sourceforge.net/
你学到了什么
在这两弹 ,我们学到了以下的内容
1 如何利用 EasyGui 建立简单的 GUI
2 如何使用消息框 msgbox 显示消息
3 如何使用按钮、选择框和文本输入框(buttonbox 、choicebox 、enterbox、integerbox)得到输入
4 如何为一个文本框设置默认输入
5 如何使用python 的内置帮助系统
测试题
1 如何使用 EasyGui 生成消息框?
2 如何使用 EasyGui 得到字符串输入?
3 如何使用EasyGui 得到整数输入?
4 如何使用 EasyGui 得到浮点数输入?
5 什么是默认值? 给出一个可能使用默认值的例子。
动手试一试
1 试着修改温度转换程序,这一次要用 GUI 输入和输出而不是 input 和print
2 编写一个程序,询问你的姓名,然后是房间号、街道和城市,然后是省地区,最后是邮政编码(所有都放入 EasyGui 对话框中),然后这个程序要显示一个寄信格式的完整地址,类似于:
布鲁斯李
国
省
市
街道
邮编
更新到这里。