很多人在第一次接触Python作业时,第一反应不是题目本身有多难,而是连“从哪里开始”都没头绪。我见过太多零基础的同学,卡在了装环境、选工具、跑不通代码这些跟编程能力完全无关的事情上,最后把可用时间浪费了一大半。这篇文章不讨论高深语法,只聚焦一个目标——让你顺利拿下“第一次作业”。我会直接讲清楚环境怎么配、代码怎么组织、最常见的作业题怎么拆、以及在完成过程中你八成会碰到的那些坑。如果你已经装好了Python,也可以直接跳到第二节看代码部分。
1. 开始写代码之前,先把运行环境一次性搞定
1.1 Python版本怎么选,别上来就装最新的
很多新手装Python时会有一个误区:哪个版本号大就装哪个。实际上对于第一次作业来说,3.x系列的某个稳定版本就够用了,建议直接选择3.10或3.11这种经过大量用户检验的版本。不要选3.13这类刚发布不久的新版本,因为部分第三方库可能还没完全适配,作业里如果碰巧用到会报一堆奇奇怪怪的错误。
下载位置认准Python官方网站的Downloads页面,注意区分Windows、macOS和Linux三个平台的安装包。Windows用户优先选择64位的Windows installer,现在绝大多数电脑都是64位系统,选32位反而可能后面装库受限。macOS用户则选择macOS 64-bit universal2 installer这种通用安装包。
下载文件大概25MB左右,速度如果很慢,可以找电信、联通或教育网的镜像源,但尽量还是用官方文件,避免第三方打包版本自带多余组件。
1.2 安装时勾选Add Python to PATH,这个步骤决定了你后面少折腾一小时
Windows安装时第一屏就有一个很容易被忽略的复选框:Add Python to PATH。这个选项必须在安装前就勾上,它的作用是把python命令加入系统环境变量,让你在任意目录下打开命令行输入python都能直接进入交互环境,否则你只能在Python安装目录下面那一亩三分地运行。
如果安装时忘了勾选,也不用重装。按Win+R输入sysdm.cpl打开系统属性,在“高级—环境变量—Path”里手动添加Python安装目录和Scripts子目录(一般是C:\Users\你的用户名\AppData\Local\Programs\Python\Python311\和同目录下的Scripts)。添加完后打开新的命令行窗口验证,输入python --version,能看到版本号就说明配置成功了。
macOS和Linux用户则没有这个烦恼,系统自带的终端里输入python3 --version或者python --version就能直接验证。如果提示没有python3命令,macOS用户需要先安装Command Line Tools,Linux用户用包管理器安装即可。
1.3 选择编辑器:第一次作业用记事本还是PyCharm
关于代码工具,我发现一个规律:新手做第一次作业时,工具选得越“复杂”,翻车概率越大。这里有三条路线,你可以按自己的需求选。
- 纯记事本/系统自带文本编辑器:适合只想快速完成作业、不想折腾环境的人。缺点是保存时容易把扩展名搞错,比如存成.txt或者出现“hello.py.txt”这种文件,运行时直接报错。
- VSCode + Python插件:适合对编程兴趣比较高、后面还想继续学习的同学。插件市场里搜Python,装官方那款,右下角选好解释器就能正常运行。
- PyCharm Community版:真正的一站式IDE,自动识别环境、一键运行、内置终端。缺点是内存占用大,老电脑打开时风扇会高速运转,另外新建项目时默认会用虚拟环境venv,第一次接触容易绕晕。
我个人建议:如果只是想先过掉第一次作业这关,就用最简单的编辑器即可,代码不超过几十行,不需要太多花哨的功能。等后面题目变复杂了再换上PyCharm或者VSCode,成本更低。
2. 第一个程序:从Hello World到一套标准作业代码模板
2.1 写文件还是写交互模式,作业场景下不要混用
打开Python环境的方式有两种:在命令行输入python进入交互式模式(>>>提示符),以及把代码保存成.py文件后用python文件路径运行。交互式模式适合随手验证一行语法,但提交作业必须是.py文件的形式。
交互式模式下如果你敲了print('hello'),这句代码不会保存到任何地方。所以完成作业时一定要新建一个文件、保存为.py后缀、然后运行这个文件,否则你写的东西关了窗口就全没了,还要重新敲一遍。
注意:运行.py文件时,命令行当前所在目录要和文件所在目录一致,不然会提示No such file or directory。最简单的办法是,在文件管理器地址栏输入cmd回车,这样命令行会自动定位到当前文件夹。
2.2 一份可以直接套用的“作业模板”
第一次作业无论题目怎么变,代码结构基本大差不差。你可以把它当作一个模板:
# 作业:XXX # 作者:姓名 # 日期:2025-XX-XX # 第一部分:输入处理 # 从键盘读取数据,转换类型 name = input("请输入你的姓名:") # 第二部分:逻辑运算 # 对数据进行处理,得到结果 greeting = "你好," + name + "!欢迎开始Python之旅。" # 第三部分:输出结果 print(greeting)这个模板拆分下来就三块:输入、处理、输出。绝大多数作业题跑不出这个框架。比如最简单的计算题是输入两个数字求和,它的处理部分就是int(input(...))做类型转换再加数字;判断奇数偶数就是输入数字后用%运算做取余判断。
2.3 print函数和input函数用熟,第一次作业就够了
Python里和用户交互最核心的两个内置函数就是print和input。print负责往屏幕输出内容,input负责从键盘读取输入。这里有几个细节值得记下来:
- print里可以放字符串、数字、变量,用逗号隔开后输出时会有空格分隔;用加号连接则不会有空格,但加号两边必须是同一种类型。数字和字符串混用时需要先把数字转成str()。
- input接收到的内容永远是字符串类型。哪怕用户输入的是数字,它也是字符串"123"而不是数字123。如果需要拿来做数学运算,必须用int()或float()转换,这是新手最容易忽略的类型转换问题。
- 如果只想不换行输出,给print加一个参数end='',比如多个print连续输出同一行内容。第一次作业不常用,但遇到设计类题目会用到。
# 类型转换演示 a = input("请输入一个数字:") print(type(a)) # <class 'str'>,确认是字符串 b = int(a) # 转成整数 print(b * 2) # 输出两倍值3. 第一次作业常见题目类型拆解:输入输出、计算、判断、循环
3.1 输入输出类:让程序和人对话
这类题的典型要求是:从键盘输入姓名或一段话,程序输出对应的问候语或格式化后的内容。别小看这种题,它考察的是input和print配合,以及字符串拼接和格式化。
name = input("请输入姓名:") student_id = input("请输入学号:") print("你好," + name + "!你的学号是" + student_id + "。")这里有一个小细节:用加号拼接时,注意姓名前后是否需要一个空格或标点。如果输出要求和样例完全一致,哪怕差一个空格也容易被打叉。严谨起见,可以把拼接好的内容先打印出来看看效果再调整。如果想省事一些,也可以用f-string直接嵌入变量:
print(f"你好,{name}!你的学号是{student_id}。")f-string是Python 3.6之后引入的写法,大括号里可以直接放变量,不必再去考虑字符串拼接时的类型问题。第一次作业完全可以用这种语法,不仅写起来顺,读起来也更好理解。
3.2 简单计算类:类型转换的必修战场
数值计算类题目几乎必考一个坑:input返回的是字符串,不能直接参与数学运算。例如从键盘输入两个数字,输出它们的和。
错误示范:
a = input("输入第一个数:") b = input("输入第二个数:") print(a + b) # 你以为算加法,实际是字符串拼接,"12"+"3"结果变成"123"正确写法:
a = int(input("输入第一个数:")) b = int(input("输入第二个数:")) print("和为:", a + b)这种题的变种还有求平均数、算圆的面积、温度转换等。温度转换题会考察float浮点型,因为摄氏度和华氏度之间可能涉及小数。示例:输入摄氏度,输出华氏度,公式是c * 9 / 5 + 32。
celsius = float(input("请输入摄氏度:")) fahrenheit = celsius * 9 / 5 + 32 print("华氏度为:", fahrenheit)如果题目要求保留两位小数,可以在print里用round()函数,也可以用format或者f-string的格式化语法。f-string的写法是print(f"{fahrenheit:.2f}"),其中冒号后面的.2f表示保留两位小数。
3.3 条件判断类:程序第一次有“脑子”
判断奇偶、判断成绩等级、判断闰年,这类题目引入了if-elif-else分支结构。它让程序不再是流水账,而是会根据输入不同产生不同输出。
判断奇偶的完整版:
num = int(input("请输入一个整数:")) if num % 2 == 0: print(num, "是偶数") else: print(num, "是奇数")判断成绩等级的代码需要处理区间:
score = float(input("请输入成绩:")) if score >= 90: print("优秀") elif score >= 80: print("良好") elif score >= 70: print("中等") elif score >= 60: print("及格") else: print("不及格")判断闰年的条件是:能被4整除但不能被100整除,或者能被400整除。写成代码就是(year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)。这种复合条件在第一次作业里算是中上难度,需要理清逻辑优先级。
这里有个常见问题:elif和else的区别。很多新手写完if后又接好几个if,导致条件重复判断。更严谨的写法是用elif,因为一旦匹配到前面的分支,后面的就不再执行了,效率更高且逻辑更清晰。
3.4 循环类:让代码重复劳动
求和、打印数列、九九乘法表,这些题目开始引入for和while循环。循环的核心是理解“重复执行某段代码直到条件不再满足”。
求1到100所有整数之和:
total = 0 for i in range(1, 101): total += i print(total)进阶一点,求1到n中所有偶数的和。这里两种做法都可以:要么遍历每个数判断是否偶数再累加,要么直接用range的步长参数,range(2, n + 1, 2)直接从2开始每隔一个数取一次。
打印九九乘法表这类题目会用到嵌套循环,外循环控制行,内循环控制列。输出时用end参数控制不换行,最后在每行结束后打一个空的print换行。
for i in range(1, 10): for j in range(1, i + 1): print(f"{j}x{i}={i*j}", end="\t") print()第一次作业里循环题最多也就到嵌套循环的程度,不会出现太复杂的算法。只要记住循环三要素——初始条件、循环条件、变化趋势——基本可以应对。
4. 新手交作业前,最容易翻车的5个坑
4.1 把缩进当摆设
Python用缩进表示代码块,不像其他语言有大括号。同一个代码块里的语句必须保持相同的缩进级别,否则直接报IndentationError。最常犯的错误是在函数或判断语句后面忘记缩进,或者混用空格和Tab键。建议编辑器里统一设置缩进为4个空格,同时勾选“把Tab转换为空格”选项,这样能避免大量隐性错误。
4.2 中英文标点搞混
这是第一类让新手崩溃的报错。中文输入法状态下打的括号()、冒号:、引号"",对于Python解释器来说全是非法字符。你写的if条件末尾如果是中文冒号,运行时会直接报SyntaxError。解决方法是写代码前把输入法切换到英文状态,尤其注意代码中的每个符号都必须是英文半角字符。如果你用VSCode或PyCharm,报错时的波浪线会提示你出错位置。
4.3 少了括号或者引号没闭合
第2种常见报错是SyntaxError: unexpected EOF while parsing。本质上是代码里某个括号或者引号没有成对出现。排查方法很简单:把代码从后往前看,逐个确认字符串引号是否配对、函数调用括号是否闭合。很多编辑器有括号高亮功能,光标放在某个括号上时,对应的另一个括号会在屏幕中高亮,利用这个特性可以快速定位。
4.4 文件后缀名和编码问题
保存文件时一定要确认扩展名是.py而不是.txt。Windows系统默认可能隐藏已知文件类型的扩展名,导致你存成hello.py.txt还浑然不知。解决办法:在文件资源管理器里勾选“查看—文件扩展名”,让后缀可见。另外,代码文件头部建议加一行# -- coding: utf-8 --,虽然Python 3默认就是UTF-8编码,但加上能避免个别环境下中文注释变成乱码。
4.5 运行环境不对:python和python3的微妙差异
Windows用户一般输入python即可。macOS和Linux用户偶尔会出现python指向Python 2的情况,如果你代码里用了f-string或者其它Python 3特性,就会出现语法错误。解决办法:统一用python3命令来运行;如果你只想用python,可以在终端里给Python 3设置别名。另外还要注意,安装多个Python版本后,命令行认的是哪一个版本取决于环境变量PATH的排列顺序。搞不清楚时先python --version看版本号,这是最快的排查方式。
5. 作业完成后怎么检查:给自己当一回“老师的眼睛”
完成代码只能说是做完了一半,另一半是查漏补缺。我交作业前一般会按这个清单自检,你可以直接拿去用:
- 输入正常的数据能否得出正确的输出?
- 输入边界值(0、负数、极大值)时程序会不会崩溃?
- 如果用户不按要求输入,比如需要数字却输入了汉字,程序会不会报错并退出?
- 输出格式是否和题目样例完全一致?包括空格、换行、小数点位数。
- 代码里有没有添加注释,关键步骤是否清晰可读?
正常路径测试大家都会做,但边界值和异常输入经常被忽略。举个例子,求平均数的题目,如果输入了0,除数不能为0,程序会报ZeroDivisionError;如果要求输入整数但用户输入了3.14,int()转换会抛出ValueError。虽然第一次作业可能不会强制要求做异常处理,但至少你要知道程序什么时候会出错,以及错误信息大概说的是什么。
如果想把程序写得更健壮一点,可以用try-except捕获异常,例如:
try: num = int(input("请输入一个整数:")) print("你输入的是:", num) except ValueError: print("输入无效,请输入整数。")这个写法超出了“第一次作业”的难度要求,但花两分钟了解一下有好处。它让你提前接触到“程序不仅要在正确输入下工作,还要在错误输入下不出幺蛾子”的思维,这种意识在后续学习里会越来越重要。
6. 作业做完之后,下一步可以往哪些方向走
第一次作业完成后,你就不再是一个完全没碰过代码的人了。接下来有几个可以自然延伸的方向,按你个人兴趣选择就好。
- 如果你想尽快看到“代码改变文件”的效果,可以研究一下文件读写。用Python打开一个文本文件,逐行读取内容,再把处理后的结果写回另一个文件。这个功能在数据处理类作业中频繁出现。
- 如果对数据处理感兴趣,可以装一个第三方库pandas,配合matplotlib把数据变成折线图和柱状图。你会发现原来一行代码就能画出图表,Python在数据分析领域的地位就是这么来的。
- 如果想做点能分享出去的东西,可以研究一下Python打包成exe。用pyinstaller把.py文件转换成Windows可执行程序,发给同学他们双击就能运行,会非常有成就感。
- 如果对网页抓取感兴趣,可以学一下requests和BeautifulSoup做基础爬虫。从一个简单的静态网页开始,抓取标题和链接,这个方向会极大打开你对Python应用边界的认知。
不过我得提醒一句,这些方向都不急于一时。第一次作业的核心目标是建立正向循环:写代码—运行—报错—修好—再运行,直到输出结果正确。一旦你完整地走完这个过程,哪怕作业只得了合格分,你对Python的掌控感和信心也会明显提升。
我遇到过很多学生,第一次作业折腾了一整天才跑通,当时觉得挫败感很强。但回头看,那一整天的价值不在于那几十行代码,而在于你把“环境、语法、调试”这条链路彻底理顺了。之后再做第二次、第三次作业,会顺利得多。所以第一次作业交完之后,不妨回头看看自己走过的弯路,那些踩坑经历才是真正的收获。