课程总结

Python 课程总结


实验一:猜数字游戏

第一次接触 Python 和 PyCharm。装了 Python 之后还要配环境变量,不然命令行打不出 python

学的知识点:

  • 变量 — 直接 x = 10 就行,不用写类型
  • 类型int 整数、float 小数、str 字符串
  • 输入输出input() 拿用户输入,print() 打印
  • 类型转换input() 返回的是字符串,要算数得用 int()float() 转一下
  • 字符串格式化f"数字是{x}" 或者 "%d" % x
  • 条件判断ifelifelse
  • 循环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 initgit addgit commitgit 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 的东西目前还看不太懂,以后慢慢补吧。

总的来说入门了,后面还想继续学学文件操作和第三方库这些东西。

posted @ 2026-05-25 20:36  Doglists  阅读(6)  评论(0)    收藏  举报