AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
前置知识 · 文科转码友好

Python 刷题前置知识

不需要学完整个 Python,掌握下面这些就足够开始刷题了。很多同学是文科 / 跨专业转码,这页专门为你准备——看懂例子、能照着写,就够了。

1. 环境与运行

  • 安装 Python(官网下载,Mac 选 macOS 版)+ PyCharm 编辑器
  • 终端输入 python 进入交互模式,输入代码按回车即可看到结果
  • 刷题时只需把代码写进编辑器、点运行——本站还能直接在线判题
# 你的第一行代码
print("Hello World")  # 输出:Hello World

2. 基础语法(够刷题用)

  • 变量与类型:整数 int、小数 float、字符串 str、布尔 bool
  • 输入输出:input() 读入、print() 输出;多值用 split() 拆分
  • 条件与循环:if/elif/else、for、while
# 读入一行两个整数
n, m = map(int, input().split())

for i in range(n):       # 循环 n 次
    if i % 2 == 0:
        print(i, "偶数")
    else:
        print(i, "奇数")

3. 列表(刷题最常用)

  • 排序 sort()、翻转 [::-1]、去重 set()、合并 +、拷贝 a[:]
  • 枚举 enumerate 同时拿下标和值;列表推导式一行生成列表
nums = [3, 1, 2, 1]
nums.sort()               # [1, 1, 2, 3]
rev = nums[::-1]          # 翻转
uniq = list(set(nums))    # 去重
sq = [x * x for x in nums]  # 列表推导式

for i, x in enumerate(nums):  # 下标+值
    print(i, x)

4. 字典 / 哈希表

  • 用 dict 做计数、查找:key→value,平均 O(1)
  • collections.defaultdict / Counter 让计数更简单
from collections import Counter

s = "abcabb"
cnt = Counter(s)     # {'a':2, 'b':3, 'c':1}
print(cnt["b"])      # 3

# 两数之和:用字典记录见过的数
seen = {}
for i, x in enumerate([2, 7, 11]):
    if 9 - x in seen:
        print(seen[9 - x], i)
    seen[x] = i

5. 字符串技巧

  • 切片 s[a:b]、拼接 join、查找 in、替换 replace
  • 大小写 upper/lower、判断 isdigit/isalpha
s = "Hello,World"
print(s.split(","))     # ['Hello', 'World']
print("-".join(["a","b"]))  # a-b
print(s[:5])            # Hello
print("o" in s)         # True

掌握这些,就可以开始刷题了

遇到不懂的随时回来查,或在训练营里问老师。

去题库开始刷题