前言:
今天是我学习 Python 的第二天。昨天先接触了一些基础内容,今天开始学 if-else 判断、while 循环和 for 循环,做了九九乘法表和素数判断,还练习了列表格式化输出,最后在画五个五角星的时候第一次用到了 def 函数。这篇博客既是我自己的学习记录,也希望能给同样零基础的同学一点参考。
一、if-else 判断:让程序学会选择
语法:条件成立执行 if 后的代码,不成立执行 else 后的代码。
演示代码:
score = 85
if score >= 60:
print(“及格了”)
else:
print(“还需要加油”)
运行结果:及格了
我第一次写的时候,在 else 后面又跟了一个 if,代码能跑但很啰嗦。后来才明白 if-else 是一组互斥分支,条件满足走 if,不满足走 else,只需要写一个判断。
二、while 循环与 for 循环:让程序学会重复
while 适合“不知道要循环几次、只能靠条件控制”的场景。
演示代码:
i = 1
while i <= 5:
print(f"第{i}次循环")
i += 1
运行结果:
第1次循环
第2次循环
第3次循环
第4次循环
第5次循环
我今天踩的最大的坑,就是忘记写 i += 1,程序直接死循环,终端一直刷屏。从此记住了:循环体里一定要让条件往“结束”的方向变化。
for 循环更擅长遍历,配合 range 使用:
for i in range(1, 6):
print(i)
运行结果:1 2 3 4 5
和 C 语言不同,Python 的 for 循环不用自己管理下标和步长,直接依次取出数据就行。
三、九九乘法表:循环嵌套的第一次实战
学完两个循环后,我试着挑战九九乘法表。
演示代码:
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}x{i}={i * j}“, end=”\t")
print()
运行结果(节选):
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
…
要点:外层循环控制行,内层循环控制列;end=“\t” 让输出不换行,一行结束再 print() 换行。第一次用短短几行代码排出整张表,特别有成就感。
四、素数判断:把判断和循环组合起来
接着我尝试把 if-else 和循环组合在一起,写素数判断。
演示代码:
num = 17
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
print(“是素数” if is_prime else “不是素数”)
运行结果:是素数
一开始我把范围写成了 range(2, num + 1),结果 num 对自身取余一定是 0,连素数都被判错了。这个 bug 让我明白:写代码不仅要会语法,还要想清楚边界条件。
五、列表格式化输出:让数据排好队
今天还学了列表,并用 f-string 做了格式化输出。
演示代码:
scores = [85, 92, 78]
for index, score in enumerate(scores):
print(f"第{index + 1}科成绩:{score}分")
运行结果:
第1科成绩:85分
第2科成绩:92分
第3科成绩:78分
f-string 可以直接把变量写进字符串里,比手动拼接清晰太多,也让列表的输出一下子“活”了起来。
六、def 函数:在画五个五角星时学会封装
def 函数是我今天画五个五角星的时候学会的。如果每个五角星都把绘制步骤重写一遍,代码会特别长;把“画一颗星”的步骤封装成 draw_star() 后,主程序只需要循环调用五次,代码立刻变得简洁清晰。
演示代码:
import turtle
def draw_star():
for _ in range(5):
turtle.forward(100)
turtle.right(144)
turtle.pensize(3)
turtle.pencolor(“red”)
for _ in range(5):
draw_star()
turtle.penup()
turtle.forward(150)
turtle.pendown()
turtle.done()
运行结果:画出五个红色的五角星
这段代码让我第一次真正感受到函数的价值:把重复的绘制过程打包成一个 draw_star(),主程序只需要调用它,不用关心内部是怎么画的。
结尾留言:
第二天的学习让我认识到,Python 的语法本身并不难,难的是把判断、循环、列表和函数这些“零件”组合起来解决实际问题。接下来我会继续练习,把每一个知识点都变成自己能熟练使用的工具。