作业三

变量、字符串、文本分析与多轮对话

登录后可在本页提交各题源代码与输入输出。第 1 至第 4 题的输入输出填写在文本框中。第 5 题的输入输出上传运行界面贴图。

一、作业内容

学生范围:人工智能专业 2026级本科 截止时间:2026年10月11日 18:00

1. 变量基础操作

创建变量存储个人信息:姓名、年龄、身高、是否为学生,并打印输出。

  • 姓名为字符串,年龄为整数,身高为浮点数,是否为学生为布尔值。
  • 四个变量均须打印,输出中标明各项的含义。

2. 字符串基本操作

编写程序。用户输入姓名和年龄,程序输出格式化的欢迎信息。

  • 姓名与年龄均由用户输入。
  • 使用格式化字符串输出欢迎信息,信息中同时包含姓名和年龄。

3. 字符串处理

给定字符串 " Hello, Python World! "(引号内首尾均含空格),完成下列处理并打印每一步的结果:

  1. 去除首尾空格。
  2. 将所有字母转为小写。
  3. 将 "Python" 替换为 "Java"。替换在转小写之后进行,对应的查找文本为 "python"。
  4. 统计最终字符串的长度。

4. 文本分析

编写程序,分析一段文本中单词的数量和最长单词的长度。

  • 文本由用户输入。
  • 以空格分隔单词。
  • 输出单词数量,以及最长单词的字符数。

5. 多轮对话

本题接续作业二,仍使用已开通的国内商业大模型 API(阿里云百炼、火山引擎方舟、智谱、Kimi 或 DeepSeek)。使用列表保存对话消息,实现可连续问答的程序。程序可以是命令行、网页或桌面应用。

调用大模型时提交的 messages 是一个列表,每条消息均含角色 role。列表中须出现 system、user、assistant 三类角色。

  • system:对模型的整体说明,通常放在列表开头,只写一次。例如规定模型以终端助手的方式回答。
  • user:用户本轮输入的问题。
  • assistant:模型上一轮返回的回答。

每一轮调用都将当时的整个列表传给接口。用户输入后追加一条 user,模型返回回答后追加一条 assistant。下一轮调用因此能够使用前文。若每次请求只放入当前这一条 user,模型无法使用前文。

列表的形状如下:

messages = [
    {"role": "system", "content": "你是终端助手。"},
    {"role": "user", "content": "第一轮的问题"},
    {"role": "assistant", "content": "第一轮的回答"},
    {"role": "user", "content": "第二轮的问题"},
]
  • 至少完成 3 轮真实调用,不得使用本地假数据代替。完成后,列表中应有 1 条 system、至少 3 条 user,以及与各轮提问对应的 assistant。
  • API Key 只放在环境变量或未提交的本地配置中,不得写入源码和截图。

二、提交作业

在线提交

登录后,在本页各题下方填写代码与输入输出。第 1 至第 4 题的输入输出使用文本框。第 5 题的输入输出上传运行界面贴图,可以是命令行、网页或桌面应用。

三、当前提交情况

正在读取名单与完成情况。

作业三按五项统计:变量、欢迎信息、字符串处理、文本分析、多轮对话。每一项须同时具备源代码与输入输出。第 1 至第 4 题的输入输出为文本框。第 5 题的输入输出为运行界面贴图。公开列表给出班级、学号、姓名与各项是否到齐。

名单人数
—
已提交
—
未提交
—
统计口径
按人合并

按班级统计

班级 名单人数 已提交 未提交 提交比例
班级学号姓名第1项:变量.py第2项:变量输入输出第3项:欢迎.py第4项:欢迎输入输出第5项:字符串.py第6项:字符串输入输出第7项:文本.py第8项:文本输入输出第9项:对话.py第10项:对话输入输出五项齐