当前位置: 首页 > news >正文

20254201实验三《Python程序设计》实验报告

学号 2025-2026-2 《Python程序设计》实验3报告

课程:《Python程序设计》
班级: 2542
姓名: 邢艺馨
学号:20254201
实验教师:王志强
实验日期:2026年4月28日
必修/选修: 专选课

1.实验内容

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。

2. 实验过程及结果

要求1:
(我的学号为20254201,队友学号为20254209)
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
首先编写好服务端和客户端的代码,然后我和队友连接同一热点确保在同一网络,修改ip地址保证最后一位为符合要求的自己学号。
因为队友先做服务端,所以先改成她的学号:
83c31989e27d497d3c871d6994d12671
(2)要求发送方输入内容,并传输;接收方收到信息并显示。
我做客户端,我们互相发送消息问候(bushi):
0ec12246462b2287fe19e10ee3ab99e2
接下来我做服务端,互发消息:
3b86e8aa27b7b9211ffad92f1a20088a

要求2:使用LLM生成一个带图形界面的程序
使用豆包生成一个计算器程序:
9d4acdf5b688343144c63d0bd71b9a73
运行过程及结果截图:
148037579d85671056d594de8dfd3381
关键代码的功能和使用方法:

  1. 导入库
    import tkinter as tk
    功能:调用Python自带的图形界面工具,用来做窗口、按钮等。
    使用方法:写在代码最开头,固定使用。
  2. 创建主窗口
    self.root.title("简易计算器")
    self.root.geometry("300x400")
    功能:生成程序窗口,设置标题和大小。
    使用方法:直接修改文字和数字,就能改标题、调窗口大小。
  3. 显示屏(输入输出框)
    self.display_var = tk.StringVar()
    self.display = tk.Entry()
    功能:显示输入的数字、符号和计算结果。
    使用方法:点击按钮时,自动把内容显示在屏幕上。
  4. 按钮布局
    buttons = [('7',1,0), ('8',1,1), ...]
    功能:统一设置所有按钮的文字和位置。
    使用方法:在列表里添加/删除内容,就能增删按钮。
  5. 按钮点击事件
    def on_button_click(self, text):
    功能:处理按钮功能:输入数字、计算结果、清空内容。
    使用方法:点击任意按钮,自动执行对应操作。
  6. 运行程序
    main_window.mainloop()
    功能:启动图形界面,让窗口保持显示。
    使用方法:写在代码最后,固定使用。
    生成程序的优点:
    这个计算器程序用起来很方便,整体界面简洁清晰,操作也很顺手。它不需要额外安装其他软件,只要有Python环境就能直接运行,兼容性很好。程序运行稳定,不会轻易卡顿或崩溃,就算输入错误也会给出提示,使用起来老放心了。代码结构也简单明了,对于俺们新手很友好,方便理解和修改,同时基础的计算功能齐全,完全能满足日常使用需求,是一个很实用的入门级图形界面程序。

3. 实验过程中遇到的问题和解决过程

  • 问题1:明明修改好了ip地址也填的同一地址,但是报错
  • 问题1解决方案:发现是网络自动连接到别的热点了,修改回同一热点后正常
  • 问题2:ip地址改后报错无法运行
  • 问题2解决方案:打开cmd输ipconfig获取现在的网址开头再改

其他(感悟、思考等)

4. 实验感悟

这次实验真的可以说是最近几次里最难的一次吧。刚开始做的时候,对着IP地址、端口号一头雾水,老是连不上、一直报错,我和队友反复检查代码、切换热点、重新改地址,同样的流程重复折腾了好几次都失败,真的快崩溃了,不过好在最后请教同学最后也是成功通信了,当看到客户端和服务端终于能互相收发消息的时候,激动得不行特别有成就感,也明白了网络通信原来就是这么一回事,没想象中那么遥不可及。
后来用大模型生成图形界面计算器,更是打开了新世界的大门。原来不用从零硬写,借助工具也能做出好看又能用的GUI程序,运行出来的那一刻特别惊喜。整个实验下来,我不仅学会了Socket通信和GUI编程的基础用法,还体会到了一步步排查解决的踏实感。
从一开始的手忙脚乱,到最后顺利完成所有要求,我越来越意识到遇到问题真的不能慌,先自己检查,实在检查不出来问AI,最后老师同学,办法总比困难多,保持好心态即使是我这种什么都不会的文科生也可以编程运行。

参考资料

  • 《Python程序设计》

  • 《Python完全自学教程》

http://www.jsqmd.com/news/721129/

相关文章:

  • Source SDK 2013终极材质动画指南:让游戏世界活起来
  • 终极指南:如何在移动WebView中完美集成SpinKit加载动画
  • 2026年白云区化妆品OEM企业,专业定制加工首选哪家? - 品牌企业推荐师(官方)
  • 【SRE亲测有效】PHP 8.9大文件分块处理避坑清单(含12个真实线上故障复盘+修复代码片段)
  • Zeego架构原理剖析:如何实现跨平台菜单的统一API
  • 别再傻傻分不清了!JavaScript数组splice和slice的实战区别与避坑指南
  • iNav实战:H743+双BMI270配置如何优化GPS返航与低空续航?附城北公园实飞数据
  • 3分钟掌握:Windows系统安装APK文件的终极解决方案指南
  • 别再只用默认配置了!Mosquitto 2.x 版本配置文件 listener 参数详解与避坑指南
  • Delphi老项目福音:用PaddleOCRSharp封装DLL,5分钟搞定验证码识别(附完整源码)
  • SuperPointPretrainedNetwork实战:在KITTI、NYU等数据集上的性能表现分析
  • PyInstaller Extractor终极指南:快速提取Python可执行文件的完整解决方案
  • 生物黑客防御工程师:软件测试从业者的战略升级
  • 深度解析:支持 GB28181/RTSP 及异构计算(X86/ARM+GPU/NPU)的 AI 视频管理平台架构方案(附源码交付与 Docker 部署)
  • 数字饥荒纪元
  • RTranslator模型下载完整教程:告别数小时等待,5分钟搞定离线翻译
  • PHP 9.0异步AI机器人上线倒计时72小时:这份含12个真实生产环境CrashDump分析的避坑清单,正在被头部AIGC团队紧急封存
  • 2025最权威的五大AI科研网站实际效果
  • Midscene.js:如何用视觉AI实现跨平台UI自动化测试
  • 告别选择困难!HelloGitHub帮你轻松发现优质开源项目的终极指南
  • 5个真实Windows优化痛点,Winhance如何用免费开源方案帮你轻松解决?[特殊字符]
  • 实战踩坑:在Android 13上调试AudioHAL的setParameters流程与常见问题
  • 别再写错docker-compose的command了!从覆盖镜像CMD到多命令执行的3种实战写法
  • 终极Go视频学习攻略:精选YouTube和Bilibili优质教程,从入门到精通
  • AI弥赛亚崇拜
  • 碳足迹开发认证体系:软件测试从业者的技术实践指南
  • 如何实现随时随地远程游戏串流?Moonlight Internet Hosting Tool 提供终极解决方案
  • GoCaptcha 革命性行为验证码:4种交互方式一站式解决网站安全难题
  • Python的__init_subclass__:元类之外的类定制方案
  • 10分钟搞定Redoc依赖安全:npm audit实战指南