import random as r
class Card:
#类变量数字库
number=[str(x) for x in range (2,11)]+["J","Q","K","A"]
#类变量花色库
kind=["♥","♠","♣","♦"]
#类变量牌力字典
card_power_dict={a+b:number.index(b) for a in kind for b in number}
def __init__(self):
self.true_card=[a+b for a in kind for b in number]
#洗牌方法
def wash_card(self):
for x in range(len(self.true_card)*2):
true_card.append(ture_card.pop(r.randint(0,len(true_card)-1)))
print(true_card)
在定义类变量时,初始化时没有拿到number数组,你可以试试我这种方法,先定义类变量,后面再初始化时候载将类变量值修改
import random as r
class Card:
# 类变量数字库
number = [str(x) for x in range(2, 11)] + ["J", "Q", "K", "A"]
# 类变量花色库
kind = ["♥", "♠", "♣", "♦"]
# 类变量牌力字典
card_power_dict = {}
def __init__(self):
self.true_card = [a + b for a in self.kind for b in self.number]
self.card_power_dict = {a + b: self.number.index(b) for a in self.kind for b in self.number}
# 洗牌方法
def wash_card(self):
for x in range(len(self.true_card) * 2):
self.true_card.append(self.true_card.pop(r.randint(0, len(self.true_card) - 1)))
print(self.true_card)
b = Card()
b.wash_card()
运行结果如下
有帮助请采纳,有问题继续交流,你的采纳是对我回答的最大的肯定和动力
提示我Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\扑克游戏.py", line 2, in
class Card:
File "C:\Users\Administrator\Desktop\扑克游戏.py", line 8, in Card
card_power_dict={a+b:number.index(b) for a in kind for b in number}
File "C:\Users\Administrator\Desktop\扑克游戏.py", line 8, in
card_power_dict={a+b:number.index(b) for a in kind for b in number}
NameError: name 'number' is not defined