首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要帮助它打印随机的名字

我需要帮助它打印随机的名字
EN

Stack Overflow用户
提问于 2022-03-30 19:22:59
回答 1查看 19关注 0票数 0

我试着做它,以便代码输出随机角色和随机名称,但是当我运行代码时,它给出了<main.players对象at 0x7f7b87db0bb0>,在0x7f7b87dbf3d0>上得到<.items对象。

我试图将.name添加到打印中,但是它会说它们没有属性,我希望它打印出随机项和角色名称。

代码语言:javascript
复制
import random
class players:
  def __init__ (self, role, inkey):
    self.name = role
    self.key=inkey
class items:
  def __init__ (self, name):
    self.itemname = name
    self.owner=""


Roles=[["Hacker","Q"],["Lookout","P"],["Money Man","Z"],["Explosive expert","M"]]

objectroles=[]

for i in Roles:
  object1 = players(i[0],i[1])
  objectroles.append(object1)

Items=["Goggles","Headset","Torch","Explosives","Map","Laptop","Gloves","Drill"]

objectitems = []

for i in Items:
  object2 = items(i)
  objectitems.append(object2)

templist=[]

def get():
  global templist
  item1=random.choice(objectitems)
  role1=random.choice(objectroles)
  print(role1,"get the", item1)
  templist.append(item1)
get()

def take():
  global templist
  item1=random.choice(objectitems)
  role1=random.choice(objectroles)
  print(role1,"take the", item1)
  templist.append(item1)
take()
EN

回答 1

Stack Overflow用户

发布于 2022-03-30 19:24:39

__str__方法添加到类中,以更改它们的打印方式:

代码语言:javascript
复制
class players:
  def __init__ (self, role, inkey):
    self.name = role
    self.key=inkey
  def __str__(self):
    return self.name

class items:
  def __init__ (self, name):
    self.itemname = name
    self.owner=""
  def __str__(self):
    return self.itemname
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71683007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档