你们可以帮忙吗? 您会看到我创建了一个模块(如果您想知道如何获得Hello world book 2nd Edition)并导入了该模块,但是功能不起作用。这是模块和脚本
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)
答案 0 :(得分:1)
问题是(除了您的问题没有实际错误;-)之外,您还没有实例化Coin
类的对象,并且没有传递{ {1}}。
此外,由于op
位于单独的模块中,因此如果使用Coin
和random
也需要导入。
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):