news 2026/8/3 6:02:22

【无标题】Python 学习记录:从九九乘法表到自定义函数(零基础学习第二天)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【无标题】Python 学习记录:从九九乘法表到自定义函数(零基础学习第二天)

前言:
今天是我学习 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 的语法本身并不难,难的是把判断、循环、列表和函数这些“零件”组合起来解决实际问题。接下来我会继续练习,把每一个知识点都变成自己能熟练使用的工具。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/3 6:02:15

嵌入式开发核心:GPIO工作模式与I2C通信协议深度解析

1. 从“概述”到实战&#xff1a;为什么GPIO与I2C是嵌入式开发的基石当新手拿到一块开发板&#xff0c;无论是树莓派、STM32还是ESP32&#xff0c;第一眼看到的往往是那一排排整齐的金属引脚。官方文档里&#xff0c;这部分通常被冠以“概述”或“简介”的标题&#xff0c;内容…

作者头像 李华
网站建设 2026/8/3 5:59:09

基于变容二极管与3dB耦合器的0-360°连续可调射频移相器设计实践

在实际射频电路设计中&#xff0c;移相器是一个关键的无源器件&#xff0c;用于改变信号相位而不显著影响其幅度。其中&#xff0c;0-360连续可调移相器因其能够提供全相位范围的精确控制&#xff0c;在相控阵天线、通信系统、测试测量以及雷达等领域有着广泛的应用。对于射频工…

作者头像 李华
网站建设 2026/8/3 5:58:30

Java多线程编程核心概念与实战技巧

1. Java多线程编程核心概念解析多线程作为Java语言最强大的特性之一&#xff0c;让程序能够"同时"执行多个任务。想象一下餐厅里的一位服务员同时照顾多桌客人——这就是多线程的生动体现。在Java中&#xff0c;每个线程都像是一个独立的工作者&#xff0c;共享进程的…

作者头像 李华
网站建设 2026/8/3 5:55:44

UiPath定时任务全攻略:从Windows计划任务到Orchestrator专业调度

1. 从“手动触发”到“无人值守”&#xff1a;为什么我们需要定时任务在自动化流程开发的日常里&#xff0c;我们常常会陷入一个循环&#xff1a;开发、测试、本地运行、验证结果。一个流程跑通了&#xff0c;成就感满满&#xff0c;但很快就会发现&#xff0c;很多业务流程本身…

作者头像 李华
网站建设 2026/8/3 5:55:04

地铁隧道昏暗环境怎么用AR做设备巡检

在轨道交通运维领域&#xff0c;地铁隧道内的设备巡检一直是一个典型的“高难度、高风险、低效率”场景。传统的巡检模式依赖人工手持手电筒、纸质记录表或离线PDA&#xff0c;不仅受限于隧道内极差的光照条件&#xff0c;还面临着数据孤岛、操作不规范以及远程专家支持滞后等痛…

作者头像 李华