在前面的教程中我们已经学习了一些 Python3 的基本语法知识,接下来我们来尝试一些实例。
打印字符串:
实例
print("Hello, world!")输出结果为:
Hello, world!输出变量值:
实例
i = 256 * 256
print('i 的值为:', i)输出结果为:
i 的值为: 65536定义变量并进行简单的数学运算
实例
x = 3
y = 2
z = x + y
print(z)输出结果为:
5定义一个列表并打印出其中的元素:
实例
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:
实例
for i in range(5):
print(i)输出结果为:
0
1
2
3
4根据条件输出不同的结果:
实例
x = 6
if x > 10:
print("x 大于 10")
else:
print("x 小于或等于 10")输出结果为:
x 小于或等于 10下面我们尝试来写一个斐波纳契数列。
斐波那契数列是一个经典的数学问题,其中每个数字是前两个数字之和。
实例(Python 3.0+)
a, b = 0, 1
while b < 10:
print(b)
a, b = b, a + b其中代码 a, b = b, a+b 的计算方式为先计算右边表达式,然后同时赋值给左边,等价于:
n = b
m = a + b
a = n
b = m执行以上程序,输出结果为:
1
1
2
3
5
8这个例子介绍了几个新特征。
第一行包含了一个复合赋值:变量 a 和 b 同时得到新值 0 和 1。最后一行再次使用了同样的方法,可以看到,右边的表达式会在赋值变动之前执行。右边表达式的执行顺序是从左往右的。
也可以使用 for 循环来实现:
实例
n = 10
a, b = 0, 1
for i in range(n):
print(b)
a, b = b, a + bend 关键字
关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下:
实例(Python 3.0+)
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,相关
练习题
一、知识回顾(读完直接做下面的实践题)
- 输出文字:
print("Hello, world!");输出多个值写成print('i 的值为:', i),几个值之间会用空格分隔 - 变量不用声明,赋值即创建:
x = 3、y = 2、z = x + y→ 输出5 - 列表按下标取值:
my_list[0]是第一个元素、my_list[-1]是最后一个;元素个数用len(my_list) for i in range(5):输出 0~4;range(开始, 结束)含头不含尾,要 1~5 就写range(1, 6)- 条件分支:
if 条件: … else: …;判断偶数写num % 2 == 0(余数为 0 就是偶数) - 斐波那契数列的写法:
a, b = 0, 1+while b < 10:+a, b = b, a + b - 复合赋值
a, b = b, a + b的执行顺序:先算右边的表达式,再同时赋给左边;等价于n = b; m = a + b; a = n; b = m end关键字:print(b, end=',')把结尾的换行换成指定字符,多次输出就会留在同一行;最后想换行再补一个空的print()while循环累加 1 到 100 的结果是 5050;变量名不要用sum、list这类内置函数名,会把内置函数覆盖掉- 接收用户输入:
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()
