You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中打印Game对象显示内存地址,如何实现lives的操作与打印?

问题解决方案

1. 自定义对象打印内容

Python默认打印类实例时会输出内存地址,要让print(lives1)显示lives列表,只需在Game类中重写__str__方法,自定义输出格式:

class Game:
    def __init__(self, lives):
        self.lives = lives
    def push(self, num):
        self.lives.append(num)
    def pop(self):
        self.lives.pop()
    def peek(self):
        print(self.lives)
    # 添加__str__方法,返回lives列表的字符串形式
    def __str__(self):
        return str(self.lives)

2. 修复代码拼写错误

你代码里的if (c == and):是笔误,and应为ans,否则会触发语法错误,修正后判断逻辑才能正常运行。

3. 完整修正代码

class Game:
    def __init__(self, lives):
        self.lives = lives
    def push(self, num):
        self.lives.append(num)
    def pop(self):
        # 可选:添加空列表判断,避免报错
        if self.lives:
            self.lives.pop()
        else:
            print("无剩余lives可移除")
    def peek(self):
        print(self.lives)
    def __str__(self):
        return str(self.lives)

lives = [0, 0, 0]
lives1 = Game(lives)
print(lives1)  # 输出: [0, 0, 0]
a = 5
b = 5
c = a + b
print(a, "+", b, "= ")
ans = int(input("Please write the answer:"))
if c == ans:
    lives1.push(0)
else:
    lives1.pop()

print(lives1)  # 输出操作后的lives列表

内容的提问来源于stack exchange,提问作者newbie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 01:15:53