初面网初面网

序章:什么是程序——从想法到指令

概念讲解

编程的本质,是把人类的想法翻译成计算机能执行的指令。

我们日常做事也是这样:把大任务拆成小步骤,一步一步执行。只不过计算机会原封不动地执行你给它的每一步——不会自己猜你想干什么,也不会跳过你忘写的那一步。

举一个例子:如何判断一个年份是闰年?

人类的思考过程:

  1. 能被4整除吗?
  2. 如果能被100整除,还要能被400整除才是闰年
  3. 输出结果

程序的思考过程:

  • 把每一步用精确的逻辑表达出来
  • 计算机会按顺序执行每一条指令
  • 没有歧义,没有"大概"

这就是编程思维的核心:拆解 + 精确表达

代码示例

# 判断闰年的函数
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的范围。

参考答案
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)] 是一种简洁的"筛选"模式

本章小结

  • 编程 = 把想法拆解成精确的步骤
  • 程序的核心结构:输入 → 处理 → 输出
  • 计算机会严格执行你写的每一条指令,不多不少
  • 学习语法是其次,学会拆解问题才是根本

更新于 2026/6/7