课程总结
Python 课程总结
实验一:猜数字游戏
第一次接触 Python 和 PyCharm。装了 Python 之后还要配环境变量,不然命令行打不出 python。
学的知识点:
- 变量 — 直接
x = 10就行,不用写类型 - 类型 —
int整数、float小数、str字符串 - 输入输出 —
input()拿用户输入,print()打印 - 类型转换 —
input()返回的是字符串,要算数得用int()或float()转一下 - 字符串格式化 —
f"数字是{x}"或者"%d" % x - 条件判断 —
if、elif、else - 循环 —
while循环,用break跳出去 - 随机数 —
import random然后random.randint(0, 100) - 注释 —
#打头就行
代码大概长这样:
import random
MAX = int(input("请输入最大值:"))
luck = random.randint(0, MAX)
guess = int(input(f"猜一个数(0-{MAX}):"))
while True:
if guess == luck:
print("对了")
break
elif guess < luck:
print("小了")
else:
print("大了")
guess = int(input("再猜:"))
还学了 PyCharm 的调试功能,打上断点,按 F8 一行一行走,看变量怎么变的,挺有用的。
另外学了 Git 的基本操作:git init、git add、git commit、git push,把代码推到 Gitee 上。一开始 SSH 密钥没配好 push 不上去,搞了半天才弄明白。
实验二:简单计算器
这次是自己先写一个简单的,再让 AI 生成一个高级的,两个对比。
自己写的版本
就是一个命令行计算器,输入两个数和一个运算符,算出结果:
a = float(input("请输入第一个数: "))
op = input("请输入运算符(+ - * / %): ")
b = float(input("请输入第二个数: "))
if op == "+":
print("结果:", a + b)
elif op == "-":
print("结果:", a - b)
elif op == "*":
print("结果:", a * b)
elif op == "/":
if b == 0:
print("错误:不能除以0")
else:
print("结果:", a / b)
elif op == "%":
if b == 0:
print("错误:不能取模0")
else:
print("结果:", a % b)
else:
print("无效的运算符")
这里面用到的就是课上讲的东西:
float()转小数if-elif-else判断运算符- 嵌套
if判断除零 + - * / %这些算术运算符
AI 生成的版本
老师让用大模型(Deepseek 或者 OpenCode)也生成一个计算器。AI 写的就厉害多了,有图形界面(tkinter),一堆按钮,还能算三角函数和开方。代码也规范,每个函数前面都有说明注释,参数和返回值都标了类型。
对比下来感觉自己写的确实太简单了,但也没办法,课上就学了这么多。AI 写的那些面向对象、模块拆分的写法,目前还看不太懂,等以后学了再说。
第三次作业:文本处理
三次小任务,都是操作字符串和列表。
任务 1:姓名脱敏
把"王嘉怡"变成"王*怡",只显示首尾:
name = list(input("请输入名字:"))
for i in range(1, len(name) - 1):
name[i] = '*'
print(name)
用 list() 把字符串拆成单个字符的列表,然后改中间那些位置就行。
任务 2:关键词计数
数一下"祖国"在一段话里出现了几次:
text = list(input("请输入文本:"))
count = 0
for i in range(len(text) - 1):
if text[i] == '祖' and text[i+1] == '国':
count += 1
print(count)
就是遍历每个字,看它和后一个字能不能拼成"祖国"。
任务 3:敏感词替换
输入几个敏感词,在文本里找出来替换成***,再统计用了几个:
words = input("敏感词:").split()
tex = input("文本:")
total = 0
for w in words:
if w in tex:
total += tex.count(w)
tex = tex.replace(w, '*' * len(w))
print(f"共{total}个敏感词")
print(tex)
这里学了几个字符串方法:
split()按空格把一段话切成列表count()统计出现次数replace()替换文字'*' * n生成 n 个星号
学到的知识点汇总
基础语法:
- 变量不用声明类型,直接赋值
int/float/str三种基本类型int("123")把字符串转成数字input()拿输入,print()输出
控制流程:
if ... elif ... else做条件判断while做循环,break跳出for i in range(n)按次数遍历
字符串操作:
list("abc")→['a','b','c']len()取长度"a b".split()→['a','b']"abc".count("a")→ 1"abc".replace("a","x")→"xbc""*" * 3→"***"
列表操作:
lst[i]按索引取元素(从 0 开始)lst[i] = 新值修改元素len(lst)列表长度
踩过的坑
| 问题 | 怎么回事 | 怎么解决的 |
|---|---|---|
| python 不是内部命令 | 安装时没勾选 "Add Python to PATH" | 手动加了环境变量 |
| IndentationError | 空格和 Tab 混用了 | 统一用 4 个空格 |
| 调试看不到变量 | 断点打早了,变量还没定义 | 把断点往后移 |
| 除以 0 程序崩了 | 没检查除数 | 加 if b == 0 |
| git push 失败 | SSH 密钥没配 | 生成密钥绑到 Gitee |
总结
Python 确实比之前学的 C 语言简单不少,不用管内存什么的。一个学期下来,基本的语法都过了一遍,能写点简单的小程序了。
这门课比较有意思的是让 AI 也写一遍同样的程序,然后对比。看到 AI 写出来的代码确实更规范,注释也全,但课上没讲的那些面向对象和 GUI 的东西目前还看不太懂,以后慢慢补吧。
总的来说入门了,后面还想继续学学文件操作和第三方库这些东西。

浙公网安备 33010602011771号