如何在课堂上从列表中随机抽取

2024-05-17 16:07:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想随机选择一个武器,我想写下它的名字,但结果不像我所期望的那样,代码有什么问题?在

import random
class Dusman:
    def __init__(self,name='',weapon='',armor=''):
        self.name= name
        self.weapon= weapon
        self.armor= armor

    def name(self):
        a=name
        a = input("Write a name: ")

    def weapon(self):
        weapon=["Sword","Axe","Topuz"]
        print(random.choice(weapon))


    def print(self):
        print("Name",self.name,"Weapon: ",self.weapon,"Armor: ",self.armor)

dusman1=Dusman()
dusman1.name
dusman1.weapon
dusman1.print()

Tags: 代码nameimportselfinitdefrandom名字
2条回答

目前,您只打印选项。在

您需要将选择的结果设置为weapon实例变量:

def weapon(self):
    weapons = ["Sword", "Axe", "Topuz"]
    self.weapon = random.choice(weapons)

这是你预期的结果吗?在

import random

class Dusman:
    def __init__(self,name='',weapon='',armor=''):
        self._name= name
        self._weapon= weapon
        self._armor= armor

    def name(self):
        self._name = input("Write a name: ")

    def weapon(self):
        weapons=["Sword","Axe","Topuz"]
        self._weapon = random.choice(weapons)
        print(self._weapon)

    def __str__(self):
        return "Name: {0} Weapon: {1} Armor: {2}".format(self._name,
                                                         self._weapon,
                                                         self._armor)

if __name__ == '__main__':
    dusman1=Dusman()
    dusman1.name()
    dusman1.weapon()
    print(dusman1)

你的问题是,你有命名冲突。您将变量命名为与函数相同的名称。在

相关问题 更多 >