写的python程序运行提示变量未命名,求解答!!

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()

运行结果如下

img

有帮助请采纳,有问题继续交流,你的采纳是对我回答的最大的肯定和动力

提示我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