鱼C论坛

 找回密码
 立即注册
查看: 2017|回复: 6

问一个关于EasyGui的问题

[复制链接]
发表于 2017-3-4 19:42:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import random
  2. import easygui as g

  3. def secress_number():

  4.     answer_number = random.randint(1,1)
  5.     count = 3
  6.     guess_number = g_input()
  7.     while True:
  8.         if  guess_number == answer_number:  
  9.             g.msgbox(msg = "正确",title = "猜数字",ok_button = "结束")
  10.             break
  11.         elif guess_number > answer_number:
  12.             Error1()
  13.         else:
  14.             Error2()
  15.                

  16. def g_input():
  17.     g.integerbox(msg = "写下你要猜的数字",title = "猜数字",difault = "")
  18.      
  19. def Error1():
  20.     if g.ccbox(msg = "猜大了,是否要继续",title = "猜数字",choices = ("继续","结束") ):
  21.         secress_number()
  22.     else:
  23.         g.msgbox(msg = "游戏结束",title = "猜数字",ok_button = "好哒")

  24. def Error2():
  25.     if g.ccbox(msg = "猜小了,是否要继续",title = "猜数字",choices = ("继续","结束")):
  26.         secress_number()
  27.     else:
  28.         g.msgbox(msg = "游戏结束",title = "猜数字",ok_button = "好哒")

  29. secress_number()
复制代码


为啥老是提示类型错误........
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-3-4 19:56:58 | 显示全部楼层
看错误提示:
guess_number > answer_number:
TypeError: unorderable types: NoneType() > int()

显然guess_number的数据类型是NoneType,而answer_number是一个整型,你可以尝试把guess_number强制变成整型试试看
代码:
  1. guess_number = int(g_input())
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-4 20:00:27 | 显示全部楼层
Shiryan 发表于 2017-3-4 19:56
看错误提示:
guess_number > answer_number:
TypeError: unorderable types: NoneType() > int()

不行啊...我试过了...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-4 20:13:57 | 显示全部楼层
Engou 发表于 2017-3-4 20:00
不行啊...我试过了...

要不你试试这个函数,enterbox()
参考一下小甲鱼的这篇[扩展阅读]EasyGui学习文档【超详细中文版】
猎豹截图20170304201021.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-4 20:15:30 | 显示全部楼层
本帖最后由 西殴 于 2017-3-4 20:16 编辑

def g_input():  这里我看着不行  

改成
  1. import random
  2. import easygui as g

  3. def secress_number():

  4.     answer_number = random.randint(1,1)
  5.     count = 3
  6.     number = g.integerbox(msg = "写下你要猜的数字",title = "猜数字")
  7.     guess_number = number
  8.     while True:
  9.         if  int(guess_number) == answer_number:  
  10.             g.msgbox(msg = "正确",title = "猜数字",ok_button = "结束")
  11.             break
  12.         elif guess_number > answer_number:
  13.             Error1()
  14.         else:
  15.             Error2()
  16.                

  17.    
  18.      
  19. def Error1():
  20.     if g.ccbox(msg = "猜大了,是否要继续",title = "猜数字",choices = ("继续","结束") ):
  21.         secress_number()
  22.     else:
  23.         g.msgbox(msg = "游戏结束",title = "猜数字",ok_button = "好哒")

  24. def Error2():
  25.     if g.ccbox(msg = "猜小了,是否要继续",title = "猜数字",choices = ("继续","结束")):
  26.         secress_number()
  27.     else:
  28.         g.msgbox(msg = "游戏结束",title = "猜数字",ok_button = "好哒")

  29. secress_number()
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-4 20:17:24 | 显示全部楼层

你的g_input函数没有设置return语句,所以guess_number = g_input()这一句得到的guess_number当然是None啦
我吧guess_number打印了出来,结果显示guess_number就是None
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-4 20:18:03 | 显示全部楼层
C:\Users\Administrator\Pictures\Saved Pictures\捕获6.PNG
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-22 08:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表