Python 刷题前置知识
不需要学完整个 Python,掌握下面这些就足够开始刷题了。很多同学是文科 / 跨专业转码,这页专门为你准备——看懂例子、能照着写,就够了。
1. 环境与运行
- 安装 Python(官网下载,Mac 选 macOS 版)+ PyCharm 编辑器
- 终端输入 python 进入交互模式,输入代码按回车即可看到结果
- 刷题时只需把代码写进编辑器、点运行——本站还能直接在线判题
# 你的第一行代码
print("Hello World") # 输出:Hello World2. 基础语法(够刷题用)
- 变量与类型:整数 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] = i5. 字符串技巧
- 切片 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