Skip to content

在前面的教程中我们已经学习了一些 Python3 的基本语法知识,接下来我们来尝试一些实例。

打印字符串:

实例 ​

python
print("Hello, world!")

输出结果为:

Hello, world!

输出变量值:

实例 ​

python
i = 256 * 256
print('i 的值为:', i)

输出结果为:

i 的值为: 65536

定义变量并进行简单的数学运算

实例 ​

python
x = 3
y = 2
z = x + y
print(z)

输出结果为:

5

定义一个列表并打印出其中的元素:

实例 ​

python
my_list = ['google', 'runoob', 'taobao']
print(my_list[0])  # 输出 "google"
print(my_list[1])  # 输出 "runoob"
print(my_list[2])  # 输出 "taobao"

输出结果为:

google
runoob
taobao

使用 for 循环打印数字 0 到 4:

实例 ​

python
for i in range(5):
    print(i)

输出结果为:

0
1
2
3
4

根据条件输出不同的结果:

实例 ​

python
x = 6
if x > 10:
    print("x 大于 10")
else:
    print("x 小于或等于 10")

输出结果为:

x 小于或等于 10

下面我们尝试来写一个斐波纳契数列。

斐波那契数列是一个经典的数学问题,其中每个数字是前两个数字之和。

实例(Python 3.0+) ​

python
a, b = 0, 1
while b < 10:
    print(b)
    a, b = b, a + b

其中代码 a, b = b, a+b 的计算方式为先计算右边表达式,然后同时赋值给左边,等价于:

python
n = b
m = a + b
a = n
b = m

执行以上程序,输出结果为:

1
1
2
3
5
8

这个例子介绍了几个新特征。

第一行包含了一个复合赋值:变量 a 和 b 同时得到新值 0 和 1。最后一行再次使用了同样的方法,可以看到,右边的表达式会在赋值变动之前执行。右边表达式的执行顺序是从左往右的。

也可以使用 for 循环来实现:

实例 ​

python
n = 10
a, b = 0, 1
for i in range(n):
    print(b)
    a, b = b, a + b

end 关键字 ​

关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下:

实例(Python 3.0+) ​

python
a, b = 0, 1
while b < 1000:
    print(b, end=',')
    a, b = b, a + b

执行以上程序,输出结果为:

1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

相关 ​

练习题 ​

一、知识回顾(读完直接做下面的实践题) ​

  1. 输出文字:print("Hello, world!");输出多个值写成 print('i 的值为:', i),几个值之间会用空格分隔
  2. 变量不用声明,赋值即创建:x = 3、y = 2、z = x + y → 输出 5
  3. 列表按下标取值:my_list[0] 是第一个元素、my_list[-1] 是最后一个;元素个数用 len(my_list)
  4. for i in range(5): 输出 0~4;range(开始, 结束) 含头不含尾,要 1~5 就写 range(1, 6)
  5. 条件分支:if 条件: … else: …;判断偶数写 num % 2 == 0(余数为 0 就是偶数)
  6. 斐波那契数列的写法:a, b = 0, 1 + while b < 10: + a, b = b, a + b
  7. 复合赋值 a, b = b, a + b 的执行顺序:先算右边的表达式,再同时赋给左边;等价于 n = b; m = a + b; a = n; b = m
  8. end 关键字:print(b, end=',') 把结尾的换行换成指定字符,多次输出就会留在同一行;最后想换行再补一个空的 print()
  9. while 循环累加 1 到 100 的结果是 5050;变量名不要用 sum、list 这类内置函数名,会把内置函数覆盖掉
  10. 接收用户输入:int(input("请输入一个数字: ")) 先把输入的文字转成整数再参与计算

二、裸写题 ​

    • 输出一行 Hello, Python!(逗号和叹号都要有)
    • 再输出一行你的名字

    批改(2026-09-28):❌ 只打印了 Hello Python,缺了逗号和叹号,题面要求 Hello, Python!;正确写法 print("Hello, Python!")。第二行的名字输出正确。

    批改(2026-09-28):⚠️ 旧版 helloworld.py(最早那个练手文件)只有一行 print("hello world!"),题面要求的两行都没覆盖:应补 print("Hello, Python!") 和 print("我的名字是:小明");文件本身能正常输出 hello world!。

    - 提示(先自己想,实在想不出再点开)

    一级 · 思路:要输出的文字用引号包起来交给输出函数,一行一个 二级 · 方法:print("内容")三级 · 骨架:print("Hello, ____!") / print("我的名字是:____")

    - 参考答案(做完再点开)

    python
    # 2-1
    print("Hello, Python!")
    print("我的名字是:小明")
    • 定义变量 a = 10、b = 3
    • 分别计算加、减、乘、除四种结果并逐行输出(一行一项,带上文字标签)

    批改(2026-09-28):✅ 正确(a+b=13、a-b=7、a*b=30、a/b=3.3333333333333335,四项结果都对)。

    - 提示(先自己想,实在想不出再点开)

    一级 · 思路:先把两个变量建好,再一行一个算式输出;算式的值可以直接写在字符串的 {} 里 二级 · 方法:变量赋值 a = 10;输出 print(f"加法: {a + b}") 这样的 f-string 三级 · 骨架:print(f"加法: {a ____ b}") / print(f"除法: {a ____ b}")

    - 参考答案(做完再点开)

    python
    # 2-2
    a = 10
    b = 3
    
    print(f"加法: {a + b}")    # 13
    print(f"减法: {a - b}")    # 7
    print(f"乘法: {a * b}")    # 30
    print(f"除法: {a / b}")    # 3.333...
    • 创建列表 colors = ["红", "绿", "蓝"]
    • 输出第一个元素和最后一个元素
    • 输出这个列表的长度(有几个元素)

    批改(2026-09-28):❌ 第一个元素打印成了 colors[1](输出 绿),题面要的是第一个元素 红,应写 print(colors[0]);最后一个元素 蓝、长度 3 正确。

    - 提示(先自己想,实在想不出再点开)

    一级 · 思路:第一个元素的下标是 0(不是 1);最后一个元素可以用"倒数"的下标;长度有一个现成的函数 二级 · 方法:colors[0]、colors[-1]、len(colors)三级 · 骨架:print(f"第一个: {colors[____]}") / print(f"最后一个: {colors[____]}") / print(f"长度: {____(colors)}")

    - 参考答案(做完再点开)

    python
    # 2-3
    colors = ["红", "绿", "蓝"]
    
    print(f"第一个: {colors[0]}")    # 红
    print(f"最后一个: {colors[-1]}") # 蓝
    print(f"长度: {len(colors)}")    # 3
    • 用循环依次输出 1 到 5
    • 每个数字后面跟一个空格(都留在同一行),最后换行

    批改(2026-09-28):✅ 正确(输出 1 2 3 4 5 ,1 到 5 每个数字后面都带空格);末尾没加 print() 换行,输出停在同一行,参考答案有这一行。

    - 提示(先自己想,实在想不出再点开)

    一级 · 思路:循环要写出"从几到几"的范围(含头不含尾);想让数字留在同一行,就把每次输出的结尾从换行换成空格 二级 · 方法:for i in range(开始, 结束):;print(i, end=" ");最后补一个空的 print()三级 · 骨架:for i in range(____, ____): / print(i, end="____") / print()

    - 参考答案(做完再点开)

    python
    # 2-4
    for i in range(1, 6):
        print(i, end=" ")
    print()
    • 让用户输入一个数字,存进变量 num
    • 如果是偶数就输出"偶数",否则输出"奇数"

    批改(2026-09-28):✅ 正确(输入 4 输出 偶数,输入 7 输出 奇数,两个分支都对)。

    - 提示(先自己想,实在想不出再点开)

    一级 · 思路:先把用户输入转成整数(输入拿到的是文字),再用"除以 2 的余数是不是 0"来判断奇偶,两个分支各输出一句话 二级 · 方法:num = int(input("请输入一个数字: "));判断条件 if num % 2 == 0:三级 · 骨架:num = ____(input("请输入一个数字: ")) / if num % 2 ____ 0: / else:

    - 参考答案(做完再点开)

    python
    # 2-5
    num = int(input("请输入一个数字: "))
    
    if num % 2 == 0:
        print("偶数")
    else:
        print("奇数")
    • 用循环把 1 到 100 累加起来
    • 输出最后的和(应为 5050)

    批改(2026-09-28):✅ 正确(输出 5050);变量名用了 sum,会覆盖内置函数 sum(),建议改用 total。

    - 提示(先自己想,实在想不出再点开)

    一级 · 思路:准备一个存和的变量(从 0 开始)和一个计数器(从 1 开始),只要计数器不超过 100 就把当前值加进和里、计数器加 1 二级 · 方法:while i <= 100:;累加 total += i;计数 i += 1(变量名别用 sum,会覆盖内置函数) 三级 · 骨架:total = 0 / i = 1 / while i ____ 100: / total += ____ / i += 1

    - 参考答案(做完再点开)

    python
    # 2-6
    total = 0
    i = 1
    while i <= 100:
        total += i
        i += 1
    print(f"1到100的和: {total}")  # 5050
    • 用循环输出 1 到 5,数字之间用逗号分隔、留在同一行
    • 最后再输出一次换行

    批改(2026-09-28):✅ 正确(输出 1,2,3,4,5,,逗号分隔同一行且末尾已换行)。

    - 提示(先自己想,实在想不出再点开)

    一级 · 思路:和"每个数字后面加空格"是同一个套路,只把结尾字符换成逗号;最后单独写一个空的输出完成换行 二级 · 方法:print(i, end=",");末尾补 print()三级 · 骨架:print(i, end="____") / print()

    - 参考答案(做完再点开)

    python
    # 2-7
    for i in range(1, 6):
        print(i, end=",")
    print()