第 7 课:使用 AI 完成任务列表
第 8 课:使用 for 循环重复执行任务
第 9 课:使用字典与 AI为任务设定优先级
第 10 课:使用列表、字典和 AI 自定义食谱
第 11 课:在 Python中比较数据
第 12 课:帮助 AI 做出决策
项目实战导引 2:开发奶茶店点单系统(进阶)
山河书籍与朝夕,公众号:山河书籍与朝夕驾驭AI的Python|导学课:零基础面向 AI 时代的 Python 入门与实战课程,不走传统编程学习的弯路。

from helper_functions import print_llm_response, get_llm_response在上一门课程中,你学习了变量。每个变量存储一个单独的数据。
例如:
# 把“李白”存入变量namename = "李白"
杜甫、白居易,每次修改后重新运行即可。# 根据当前的 name 生成一段生日诗提示词并发送给 LLMprompt = f"""为我的朋友 {name} 写一首四行的生日诗。这首诗应符合我朋友的特点。"""print_llm_response(prompt)

更改 变量 的值往往需要频繁更新,效率不高。更好的做法是使用 列表(list) 来集中管理数据。
列表 是 Python 的一种数据类型,可一次性存储多个数据项,减少重复赋值,让数据更有条理。
# 创建列表friends_list = ["李白", "杜甫", "白居易"]


# 打印这个列表print(friends_list)

friends_list 是一个 list 类型的单个变量,它包含多个值。list 类型的单个变量,它内部包含多个值。# 检查数据类型type(friends_list)

len() 来检查列表中存储了多少个值:# 检查列表长度len(friends_list)

friends_list 包含在提示中,为 '李白'、'杜甫' 和 '白居易' 写四行生日诗。# 生成一个包含朋友名单的生日诗提示词prompt = f"""为我的朋友 {friends_list} 分别写一组四行的生日诗。这首诗应符合朋友的特点。"""print(prompt)print_llm_response(prompt)
为我的朋友 ['李白', '杜甫', '白居易'] 分别写一组四行的生日诗。这首诗应符合朋友的特点。《贺李白生辰》谪仙醉笔撼昆仑,墨泻银河九派奔。莫问青崖白鹿客,一生原是盛唐魂。《贺杜甫生辰》秋风茅屋系苍生,笔底波澜带血鸣。纵使衣衫披万壑,孤灯犹照月华清。《贺白居易生辰》琵琶弦上说曾经,半匹红绡泪已倾。谁解香山居士意,诗成老妪亦堪听。

在Python中,你可以通过索引(index)来访问列表中的特定元素。列表的索引从0开始,依次递增。以下是访问friend_list 中元素的方法:示例列表friend_list = ["李白", "杜甫", "白居易"]访问方式访问第一个元素("李白"):first_friend = friend_list[0] # 索引 0print(first_friend) # 输出: 李白访问第二个元素("杜甫"):second_friend = friend_list[1] # 索引 1print(second_friend) # 输出: 杜甫访问第三个元素("白居易"):third_friend = friend_list[2] # 索引 2print(third_friend) # 输出: 白居易其他常见操作负索引:从列表末尾开始访问(-1 是最后一个元素):last_friend = friend_list[-1] # 输出: 白居易越界错误:如果索引超出范围(如friend_list[3]),Python会抛出IndexError。完整示例friend_list = ["李白", "杜甫", "白居易"]print(friend_list[0]) # 输出: 李白print(friend_list[-1]) # 输出: 白居易如果需要动态访问(如用户输入索引),记得先检查索引是否合法(0 ≤ 索引 < len(friend_list))。

first_friend = friends_list[0] #将列表中序号为0的元素(也就是第一个元素)赋值给变量first_friendprint(first_friend)

print(friends_list[1]) #直接打印列表中序号为1的元素(也就是第二个元素)
print(friends_list[-2]) #直接打印列表中序号为1的元素(也就是第二个元素)
第一个元素时,你使用了索引 0,访问第二个元素时,你使用了索引 1。因此,如果你执行以下操作,将会遇到错误。print(friends_list[3]) # 列表中序号为3的元素是第四个元素,并不存在
print(friends_list[2])
print(friends_list[-1])
# 先检查列表中的现有元素print(friends_list)

list.append(new_data)。因此,要向你的 friends_list 添加 "王维",你可以运行以下代码:# 通过append方法向列表中增加元素friends_list.append("王维")
# 打印更新后的列表print(friends_list)

friends_list.append("小明")print(friends_list)

.remove() 将 白居易 从 friends_list 中移除:# 通过remove方法删除列表中的元素friends_list.remove("白居易")# 打印更新后的列表print(friends_list)

# 包含三个数字的列表list_love = [5, 2, 0]print(list_love)

# 按优先级排序的任务列表。list_of_tasks = ["给我的领导写一封简短的邮件,说明我明天的会议会迟到。","为孙悟空写一首生日诗,庆祝他的1024岁生日。","写一篇300字的电影评论,评论电影《哪吒之魔童降世》。"]
如果你想了解列表如何与 AI 配合使用,可以参考这个示例:
print_llm_response()。task,再传入 print_llm_response()。# 列表中第一个任务赋值给task并传给AI交互函数task = list_of_tasks[0]print_llm_response(task)

# 列表中第二个任务赋值给task并传给AI交互函数task = list_of_tasks[1]print_llm_response(task)

# 列表中第三个任务赋值给task并传给AI交互函数task = list_of_tasks[2]print_llm_response(task)

你已经遍历了列表里的所有元素,但代码里仍然有很多重复,因为你需要逐个写出每个元素。
其实,有更好的方式——使用 for 循环。
下一课我们就来看看它是如何工作的。
📖 选择题 : 你想使用聊天机器人为朋友 杜甫 写一条生日祝福。你已将朋友的姓名存储在以下 Python 列表中: friends_list = ["李白", "杜甫", "白居易"] 在下面这行代码的大括号 `{}` 内,应该填入什么,以正确识别 杜甫 为消息的接收人? prompt = f"""为我的朋友 {} 写一个四行的生日祝福语."""A. friends_list(2) B. friends_list(1) C. friends_list[1]D. friends_list[2]📖 选择题 : 你希望使用 AI 推荐一个制作水果沙拉的食谱。 你创建了一个 Python 列表,存储当前厨房桌上的水果: fruit_list = ["苹果", "橙子", "香蕉"] 然后,你在冰箱里发现了一些葡萄。以下哪行 Python 代码可以正确地将葡萄添加到水果列表中? A. fruit_list.insert("葡萄") B. fruit_list.push("葡萄") C. fruit_list.add("葡萄") D. fruit_list.append("葡萄")# 创建一个包含你最喜欢的五部电影名称的列表### 在下面编写代码 ###movie_list =### --------------- ###print(movie_list)
# 创建一个包含你最喜欢的五部电影名称的列表### 在下面编写代码 ###movie_list = ["电影1","电影2","电影3","电影4","电影5"]### --------------- ###print(movie_list)

# 使用 print() 显示以下列表的第四个元素prime_numbers = [2, 3, 5, 7, 11]### 在下面编写代码 ###### --------------- ###
# 使用 print() 显示以下列表的第四个元素prime_numbers = [2, 3, 5, 7, 11]### 在下面编写代码 ###print(prime_numbers[3])### --------------- ###

# 用 append 在 friends_list 中增加一个朋友的名字friends_list = ["李白", "杜甫", "白居易", "王维"]### 在下面编写代码 ###### --------------- ###print(friends_list)
# 用 append 在 friends_list 中增加一个朋友的名字friends_list = ["李白", "杜甫", "白居易", "王维"]### 在下面编写代码 ###friends_list.append("科比")### --------------- ###print(friends_list)

# 用 remove 在 countries_in_asia 中,移除不属于亚洲的国家countries_in_asia = ["中国", "日本", "韩国", "法国", "印度"]### 在下面编写代码 ###### --------------- ###print(countries_in_asia)
# 用 remove 在 countries_in_asia 中,移除不属于亚洲的国家countries_in_asia = ["中国", "日本", "韩国", "法国", "印度"]### 在下面编写代码 ###countries_in_asia.remove("法国")### --------------- ###print(countries_in_asia)
