Appearance
序章:什么是程序——从想法到指令
概念讲解
编程的本质,是把人类的想法翻译成计算机能执行的指令。
我们日常做事也是这样:把大任务拆成小步骤,一步一步执行。只不过计算机会原封不动地执行你给它的每一步——不会自己猜你想干什么,也不会跳过你忘写的那一步。
举一个例子:如何判断一个年份是闰年?
人类的思考过程:
- 能被4整除吗?
- 如果能被100整除,还要能被400整除才是闰年
- 输出结果
程序的思考过程:
- 把每一步用精确的逻辑表达出来
- 计算机会按顺序执行每一条指令
- 没有歧义,没有"大概"
这就是编程思维的核心:拆解 + 精确表达。
代码示例
python
# 判断闰年的函数
def is_leap_year(year):
"""判断一个年份是否为闰年"""
if year % 400 == 0:
return True
if year % 100 == 0:
return False
if year % 4 == 0:
return True
return False
# 测试
print(is_leap_year(2000)) # True(能被400整除)
print(is_leap_year(1900)) # False(能被100整除但不能被400整除)
print(is_leap_year(2024)) # True(能被4整除且不能被100整除)
print(is_leap_year(2023)) # False(不能被4整除)这段代码展示了程序的核心结构:输入 → 处理 → 输出。year 是输入,return 是输出,中间的 if 就是处理逻辑。
练习题
题目:写一个程序,找出100到200之间所有的质数。
质数的定义:只能被1和自身整除的自然数(大于1)。
提示:可以先写一个判断质数的函数,然后遍历100到200的范围。
参考答案
python
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
primes = [x for x in range(100, 201) if is_prime(x)]
print(primes)
# 输出: [101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]关键思维:
- 只需要检查到
sqrt(n),因为如果n = a * b,其中一个因子必然小于等于sqrt(n) - 列表推导式
[x for x in ... if is_prime(x)]是一种简洁的"筛选"模式
本章小结
- 编程 = 把想法拆解成精确的步骤
- 程序的核心结构:输入 → 处理 → 输出
- 计算机会严格执行你写的每一条指令,不多不少
- 学习语法是其次,学会拆解问题才是根本