【发布时间】:2021-10-04 16:33:42
【问题描述】:
我创建了两个类,它们在发布结果之前会调用彼此的函数,但我无法让它工作,有什么原因我可以调用上面第一个类的函数但不能调用下面的函数?
这是程序:
import random
HAND = []
DECK = ['Ojama Red', 'Ojama Blue','Ojama Yellow','Ojama Green','Ojama Black', 'Ojama Pink', 'Ojama Lime']
class A:
def func1(self):
random.shuffle(DECK)
B.func3()
def func2(self):
c = DECK[0]
if c in DECK:
HAND.append(c)
DECK.remove(c)
class B:
def func3(self): # STANDBY
self.func4()
def func4(self): # DRAW
A.func2()
self.func5()
def func5(self): # MAIN PHASE 1
print('\n', HAND)
print('\n', DECK)
start_game = A()
start_game.func1()
【问题讨论】:
-
在函数 4 中,您首先调用函数 2,因此您的代码在函数 2 处结束
-
在函数2的末尾添加
B.func5() -
我遇到的问题是,我希望两个类的功能可以相互使用,除非实际上不可能,否则我只需要找出其他方法。请继续提供更多提示和建议,因为我将尽可能定期地查看此主题,直到找到令人满意的解决方案或获得结果的替代方法。 :)
-
你好,你可以把函数添加为无限循环,以便函数继续运行,然后在不可能时打破循环
-
这有点乱。为什么两个类都处理全局变量?为什么您使用实例方法,就好像它们是类或静态方法一样?由于方法名称没有提及它们的作用或目的是什么,因此很难遵循代码。
标签: python list random shuffle card