159662-会稽 发表于 2022-7-2 21:50:16

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

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

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

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

def game(i = True):
    while i:
      choices = ['地狱','困难','普通','E Z']
      choice = e.choicebox('请选择难度','选难度',choices)#选择消息框
      if choice == '地狱':#根据上面的难度,决定ends的值,然后再0~ends间生成随机数
            ends = 10000
      elif choice == '困难':
            ends = 1000
      elif choice == '普通':
            ends = 100
      elif choice == '简单':
            ends = 10
            e.msgbox('太拉了吧,选个EZ?')
      
      num = ARandomNum(0,ends)#但是到这里他报错说ends局部变量未定义
      answer = int(e.passwordbox('输入你心中所想','猜'))
      if(num > answer):
            e.msgbox('切,这么小~','小了小了~')
      elif(num < answer):
            e.msgbox('啊!不要,太大了','大了大了!')
      else:
            i = e.boolbox('你猜对了!你要在玩一遍吗?','恭喜你!',('好,今个儿就给你办的彻彻底底','不了不了,已经一点也不剩了(指时间)'))
            
start()
game()
   
有缘的大佬看看,解决一下

临时号 发表于 2022-7-2 22:03:10

import easygui as e#引用模块
import random as r

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

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

def game(i = True):
    while i:
      choices = ['地狱','困难','普通','E Z']
      choice = e.choicebox('请选择难度','选难度',choices)#选择消息框
      if choice == '地狱':#根据上面的难度,决定ends的值,然后再0~ends间生成随机数
            ends = 10000
      elif choice == '困难':
            ends = 1000
      elif choice == '普通':
            ends = 100
      elif choice == 'E Z':# 上面明明是E Z为什么这里写简单
            ends = 10
            e.msgbox('太拉了吧,选个EZ?')
      
      num = ARandomNum(ends)# ARandomNum函数只有一个参数,这里为什么要写两个
      answer = int(e.passwordbox('输入你心中所想','猜'))
      if(num > answer):
            e.msgbox('切,这么小~','小了小了~')
      elif(num < answer):
            e.msgbox('啊!不要,太大了','大了大了!')
      else:
            i = e.boolbox('你猜对了!你要在玩一遍吗?','恭喜你!',('好,今个儿就给你办的彻彻底底','不了不了,已经一点也不剩了(指时间)'))
            
start()
game()

159662-会稽 发表于 2022-7-2 22:20:01

临时号 发表于 2022-7-2 22:03


哇,感谢指点,看来我还是疏漏百出,我刚刚又发现了几个问题当重玩的时候,无法重新选难度,并再随机个数字,不过我决定明天在思考{:10_282:}
页: [1]
查看完整版本: 我用EasyGui写的猜数字升级版,但是它报错说局部变量未定义