新手村Ⅱ

一定要先点击左上角的“参与作业”按钮,再开始做练习题哦~

“参与作业”按钮

目录

  • 前言
  • 题目列表
  • 注意事项
  • 提示
    1. T322476 宏宇买魔杖
    2. T322480 魔法书题目配置
    3. T581137 予沛的猜想
    4. T322483 魔法鱼的航程
    5. T577623 单词的长度
    6. T322482 小精灵摘金苹果
    7. T322571 魔法图书馆管理员思雨
    8. T322573 密码魔咒——凯撒密码
    9. T281007 睡不着的智惠
    10. T322574 魔法卷轴的单词统计
    11. T322575 魔法蛇形阵
  • Python 3.10 官方文档相关章节

前言

There's more than one way to do it.

——Perl 俗语

在编程的世界中,条条大路通罗马。

如果某些题目让你感到没有头绪,可以看看「提示」章节,也许会找到一些灵感。

题目列表

序号题目
0T322476 宏宇买魔杖open in new window
1T322480 魔法书题目配置open in new window
2T581137 予沛的猜想open in new window
3T322483 魔法鱼的航程open in new window
4T577623 单词的长度open in new window
5T322482 小精灵摘金苹果open in new window
6T322571 魔法图书馆管理员思雨open in new window
7T322573 密码魔咒——凯撒密码open in new window
8T281007 睡不着的智惠open in new window
9T322574 魔法卷轴的单词统计open in new window
10T322575 魔法蛇形阵open in new window

注意事项

  • 提交答案时,一定要将语言设置为“Python 3”(默认是 C++);
  • 耐心读题,确保已经理解了题意、数据类型、输入输出要求后再作答;
  • 计算机没有玄学,如果 WA (Wrong Answer) 了,仔细分析原因,思考为什么出错,带着理由修改代码,而不是盲目修改代码;
  • 建议不要打印多余的空格和空行。

提示

0. T322476 宏宇买魔杖

  • 热热身~

1. T322480 魔法书题目配置

  • 一年级数学应用题。

2. T581137 予沛的猜想

  • While循环试试。

3. T322483 魔法鱼的航程

  • 魔法鱼可以游很多天,但是一周只有七天。如何将游泳的天数转换到一个区间内?
  • 这是求模运算的又一个妙用!

4. T577623 单词的长度

无。

5. T322482 小精灵摘金苹果

  • 别忘了小精灵还有个板凳。

6. T322571 魔法图书馆管理员思雨

  • 可以考虑利用 dictset 解决问题。

7. T322573 密码魔咒——凯撒密码

  • 在计算机中,字符 实际上是用数字的方式存储的,我们称这种操作为 编码
  • ASCII 编码 规定了最基本的 128 个字符与数字的对应关系。例如,'a' 对应 97'z' 对应 122,26 个小写字母占据了 $[97, 122]$ 这个数字区间。
    • 看到这个范围,你是否有些熟悉?如何将输入字符的ASCII码限定在一个具体的范围内?
  • 在 Python 中,使用内置函数 ord() 可以将一个字符转化为它对应的整数;而使用内置函数 chr() 可以将一个整数转换回它对应的字符。

8. 睡不着的智惠

  • dict 用来做计数非常好用
  • 同样,你也可以尝试用 list 达到同样的效果

9. T322574 魔法卷轴的单词统计

使用 a.count(b) 统计字符串 ab 的出现次数时,如果两个 b 之间有重叠,只会计算一个。

例如:

print('abbabbabba'.count('abba'))

输出结果是 2 而不是 3

如果你想使用字符串的 count 方法,一定要注意这一个细节。如果要查找的子字符串「可能重叠」的话,需要考虑在当前场景下是否适合用这个方法。

10. T322575 魔法蛇形阵

  • 要绘制蛇形阵,首先需要一个容器来存放数据,你可以创建一个大小为 n * n 的二维列表:
grid = [[0] * n for _ in range(n)]
  • 初中物理知识告诉我们,物体的运动可以分解为两个方向:水平方向和竖直方向。
    • 在本题中,蛇的移动可以看作是两个分支方向上的运动。
  • 这是典型的 模拟 题。不要尝试一口气就输出答案,Let's think step by step!
  • 你可以手动模拟一下填充的过程,就可以发现蛇形阵的规律,然后再让计算机来模拟你的做法!

Python 3.10 官方文档相关章节

官方文档中的一些内容可能对初学者而言过于晦涩,难以理解,所以也不必强迫自己一开始就理解其中的全部内容——等用到时回头再看,自然就会有所感悟。

  1. Python 教程open in new window
  2. input()open in new window
  3. print()open in new window
  4. 数字类型 --- int, float, complexopen in new window
  5. 文本序列类型 --- stropen in new window
  6. 序列类型 --- list, tuple, rangeopen in new window
  7. 映射类型 --- dictopen in new window
  8. 集合类型 --- setopen in new window
  9. 列表推导式open in new window
  10. 序列解包open in new window
  11. math --- 数学函数open in new window
  12. 格式化字符串字面值 (f-string)open in new window
  13. 格式规格迷你语言open in new window
  14. chr() - 内置函数open in new window
  15. ord() - 内置函数open in new window