鱼C论坛

 找回密码
 立即注册
查看: 1650|回复: 2

[已解决]我用EasyGui写的猜数字升级版,但是它报错说局部变量未定义

[复制链接]
发表于 2022-7-2 21:50:16 | 显示全部楼层 |阅读模式

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

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

x
话不多说上代码
  1. import easygui as e#引用模块
  2. import random as r

  3. def start():#游戏开始的标志
  4.     e.msgbox('欢迎来到猜数字小油戏','开始')

  5. def ARandomNum(end):#一个能生成随机数字的函数
  6.     num = r.randint(0,end)
  7.     return num

  8. def game(i = True):
  9.     while i:
  10.         choices = ['地狱','困难','普通','E Z']
  11.         choice = e.choicebox('请选择难度','选难度',choices)#选择消息框
  12.         if choice == '地狱':#根据上面的难度,决定ends的值,然后再0~ends间生成随机数
  13.             ends = 10000
  14.         elif choice == '困难':
  15.             ends = 1000
  16.         elif choice == '普通':
  17.             ends = 100
  18.         elif choice == '简单':
  19.             ends = 10
  20.             e.msgbox('太拉了吧,选个EZ?')
  21.         
  22.         num = ARandomNum(0,ends)#但是到这里他报错说ends局部变量未定义
  23.         answer = int(e.passwordbox('输入你心中所想','猜'))
  24.         if(num > answer):
  25.             e.msgbox('切,这么小~','小了小了~')
  26.         elif(num < answer):
  27.             e.msgbox('啊!不要,太大了','大了大了!')
  28.         else:
  29.             i = e.boolbox('你猜对了!你要在玩一遍吗?','恭喜你!',('好,今个儿就给你办的彻彻底底','不了不了,已经一点也不剩了(指时间)'))
  30.             
  31. start()
  32. game()
  33.    
复制代码

有缘的大佬看看,解决一下
最佳答案
2022-7-2 22:03:10
  1. import easygui as e#引用模块
  2. import random as r

  3. def start():#游戏开始的标志
  4.     e.msgbox('欢迎来到猜数字小油戏','开始')

  5. def ARandomNum(end):#一个能生成随机数字的函数
  6.     num = r.randint(0,end)
  7.     return num

  8. def game(i = True):
  9.     while i:
  10.         choices = ['地狱','困难','普通','E Z']
  11.         choice = e.choicebox('请选择难度','选难度',choices)#选择消息框
  12.         if choice == '地狱':#根据上面的难度,决定ends的值,然后再0~ends间生成随机数
  13.             ends = 10000
  14.         elif choice == '困难':
  15.             ends = 1000
  16.         elif choice == '普通':
  17.             ends = 100
  18.         elif choice == 'E Z':  # 上面明明是E Z为什么这里写简单
  19.             ends = 10
  20.             e.msgbox('太拉了吧,选个EZ?')
  21.         
  22.         num = ARandomNum(ends)  # ARandomNum函数只有一个参数,这里为什么要写两个
  23.         answer = int(e.passwordbox('输入你心中所想','猜'))
  24.         if(num > answer):
  25.             e.msgbox('切,这么小~','小了小了~')
  26.         elif(num < answer):
  27.             e.msgbox('啊!不要,太大了','大了大了!')
  28.         else:
  29.             i = e.boolbox('你猜对了!你要在玩一遍吗?','恭喜你!',('好,今个儿就给你办的彻彻底底','不了不了,已经一点也不剩了(指时间)'))
  30.             
  31. start()
  32. game()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-7-2 22:03:10 | 显示全部楼层    本楼为最佳答案   
  1. import easygui as e#引用模块
  2. import random as r

  3. def start():#游戏开始的标志
  4.     e.msgbox('欢迎来到猜数字小油戏','开始')

  5. def ARandomNum(end):#一个能生成随机数字的函数
  6.     num = r.randint(0,end)
  7.     return num

  8. def game(i = True):
  9.     while i:
  10.         choices = ['地狱','困难','普通','E Z']
  11.         choice = e.choicebox('请选择难度','选难度',choices)#选择消息框
  12.         if choice == '地狱':#根据上面的难度,决定ends的值,然后再0~ends间生成随机数
  13.             ends = 10000
  14.         elif choice == '困难':
  15.             ends = 1000
  16.         elif choice == '普通':
  17.             ends = 100
  18.         elif choice == 'E Z':  # 上面明明是E Z为什么这里写简单
  19.             ends = 10
  20.             e.msgbox('太拉了吧,选个EZ?')
  21.         
  22.         num = ARandomNum(ends)  # ARandomNum函数只有一个参数,这里为什么要写两个
  23.         answer = int(e.passwordbox('输入你心中所想','猜'))
  24.         if(num > answer):
  25.             e.msgbox('切,这么小~','小了小了~')
  26.         elif(num < answer):
  27.             e.msgbox('啊!不要,太大了','大了大了!')
  28.         else:
  29.             i = e.boolbox('你猜对了!你要在玩一遍吗?','恭喜你!',('好,今个儿就给你办的彻彻底底','不了不了,已经一点也不剩了(指时间)'))
  30.             
  31. start()
  32. game()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-2 22:20:01 | 显示全部楼层

哇,感谢指点,看来我还是疏漏百出,我刚刚又发现了几个问题当重玩的时候,无法重新选难度,并再随机个数字,不过我决定明天在思考
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-28 03:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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