输入错误:导入内容,无法正常运行

时间:2018-08-11 17:24:47

标签: python-2.7 easygui

你们可以帮忙吗? 您会看到我创建了一个模块(如果您想知道如何获得Hello world book 2nd Edition)并导入了该模块,但是功能不起作用。这是模块和脚本

coin.py

class Coin:
    def flip_coin(self, op):
        a = random.choice(op)
        easygui.msgbox(a) 

脚本

import random
import easygui
from coin import Coin

op = ["Heads", "Tails"]

easygui.msgbox("Ready?")
Coin.flip_coin()

你们想看到错误:

    Traceback (most recent call last): File "C:\Python27\Hello world\coin", line 9, in <module> flip_coin() TypeError: flip_coin() takes exactly 2 arguments (0 given) 

1 个答案:

答案 0 :(得分:1)

问题是(除了您的问题没有实际错误;-)之外,您还没有实例化Coin类的对象,并且没有传递{ {1}}。

此外,由于op位于单独的模块中,因此如果使用Coinrandom也需要导入。

coin.py

easygui

脚本

import random
import easygui


class Coin:
    def flip_coin(self, op):
        a = random.choice(op)
        easygui.msgbox(a)

但是,当您实际上不需要存储状态时,使用Python并不是一个类。

相反,您可以使import easygui from coin import Coin coin = Coin() # instantiate the class easygui.msgbox("Ready?") coin.flip_coin(["Heads", "Tails"]) 保持自由状态-而且,由于硬币通常没有比正面或反面更多的选择:

def flip_coin(op):