第四阶段:使命 (The Mission).
我们的魔像已经有了生命 (__init__),能活动 (work),而且懂得自我保护 (if energy < loss)。
但它现在只是在漫无目的地闲逛。我们需要给它一个 目标。
我们在 tasks.txt 中有一份任务清单。我们需要把它们加载到魔像的大脑 (self.tasks) 中。
加载数据
我们将添加一个 load_tasks(self, filename) 方法。
它应该:
- 使用
with打开文件。 - 读取所有行。
- 清理内容(去除
\n)并将它们存储到self.tasks中。
def load_tasks(self, filename):
with open(filename, 'r') as f:
for line in f:
# 去除首尾空格/换行符
clean_task = line.strip()
self.tasks.append(clean_task)
print("任务已加载!")
1
初始化列表
在 __init__ 中,添加 self.tasks = [] 来创建一个空的任务列表。
2
定义 load_tasks
创建方法 load_tasks(self, filename)。
3
读取并存储
打开文件,对每一行进行 strip 清理,然后追加到 self.tasks。
为什么用列表? 列表是任务队列的完美结构。先进先出!
参考答案点击展开点击收起
点击展开点击收起
参考答案:
import random
class Golem:
def __init__(self, name):
self.name = name
self.energy = 20
self.tasks = [] # 新的大脑存储区
def work(self):
loss = random.randint(5, 15)
if self.energy < loss:
raise ValueError("Low Battery!")
self.energy -= loss
print(f"{self.name} works. Energy: {self.energy}")
def load_tasks(self, filename):
with open(filename, 'r') as f:
for line in f:
self.tasks.append(line.strip())
print(f"Loaded {len(self.tasks)} tasks.")
bob = Golem("Bob")
bob.load_tasks("tasks.txt")
print(bob.tasks)Loading...
终端输出
Terminal
Ready to run...