258947758 发表于 2020-7-16 00:55:26

pycharm 运行 easygui 报错

import easygui
import random
secret = int(random.randint(0,10))
i = 3
answer = int(easygui.enterbox('猜猜我现在想的数字是几?'))
while i:

    if answer == secret:
      g.msgbox('我艹,你是小甲鱼肚子里的蛔虫吗?\n猜对了也没有奖励')
      break
    elif answer > secret:
      answer = int(easygui.enterbox('大了大了'))
      i-=1
    elif answer < secret:
      answer = int(easygui.enterbox('小了小了'))
      i-=1
easygui.msgbox('游戏结束,不玩啦!')

代码应该是没错的,但是一运行就说 AttributeError: module 'easygui' has no attribute 'enterbox'   如果我新建一个新的py文件,把代码一条一条贴进去运行就可以,但是如果想运行第二次就会再报同样错误,晕了。

Twilight6 发表于 2020-7-16 03:32:51



看看你的代码有没有不小心命名为 easygui.py文件名的代码,或者文件夹,这样的话会导致导入你自己的 py 文件

258947758 发表于 2020-7-16 07:35:58

Twilight6 发表于 2020-7-16 03:32
看看你的代码有没有不小心命名为 easygui.py文件名的代码,或者文件夹,这样的话会导致导入你自己的...

没有…名字是1.py 2.py

Twilight6 发表于 2020-7-16 08:09:24

258947758 发表于 2020-7-16 07:35
没有…名字是1.py 2.py



重新复制去运行试试吧,你 answer == secret 时候 g.msgbox 错了,应该改成 easygui.msgbox

可是看你的报错并不是因为这个....你先试试吧


import easygui
import random
secret = int(random.randint(0,10))
i = 3
answer = int(easygui.enterbox('猜猜我现在想的数字是几?'))
while i:

    if answer == secret:
      easygui.msgbox('我艹,你是小甲鱼肚子里的蛔虫吗?\n猜对了也没有奖励')
      break
    elif answer > secret:
      answer = int(easygui.enterbox('大了大了'))
      i-=1
    elif answer < secret:
      answer = int(easygui.enterbox('小了小了'))
      i-=1
easygui.msgbox('游戏结束,不玩啦!')

258947758 发表于 2020-7-16 08:26:31

Twilight6 发表于 2020-7-16 08:09
重新复制去运行试试吧,你 answer == secret 时候 g.msgbox 错了,应该改成 easygui.msgbox

可是 ...

我自己考虑过这个问题,特地改成 import easygui然后后面都用easygui.msgboxeasygui.enterbox(),依然报错

Twilight6 发表于 2020-7-16 08:30:52

258947758 发表于 2020-7-16 08:26
我自己考虑过这个问题,特地改成 import easygui然后后面都用easygui.msgboxeasygui.enterbox(),依 ...



那应该就是你的 easygui 有问题了 , 去试试卸载重装:

卸载:
pip uninstall easygui

安装:
python -m pip install easygui -i https://pypi.tuna.tsinghua.edu.cn/simple


页: [1]
查看完整版本: pycharm 运行 easygui 报错