20234214 2024-2025-2 《Python程序设计》实验一报告

news/2025/3/25 23:21:37/文章来源:https://www.cnblogs.com/Candice1209/p/18788622

20234214 2024-2025-2 《Python程序设计》实验一报告

课程:《Python程序设计》
班级: 2342
姓名: 唐果儿
学号:20234214
实验教师:王志强
实验日期:2025年3月18日
必修/选修: 公选课

1.实验内容

(一)实验内容
1.熟悉Python开发环境;
2.练习Python运行、调试技能;
3.编写程序,练习变量和类型、字符串、对象、缩进和注释等;
4.编写一个猜数字的游戏。

2. 实验过程及结果

1.熟悉Python开发环境;

按照课程要求,在课上跟着老师下载Pycharm,并完成基础插件的配置。
在“file”→“settings”→“appearance&behavior”中可以设置主题色调和自定义背景



(图1、2为熟悉设置配置外观并更改主页背景)

(图3为熟悉开发环境)
在“file”中点击“new project”可创建项目页面,在页面中可以选择保存路径等

(图4为熟悉操作环境创建新的工程文件)

2.练习Python运行、调试技能;
下面我们来编写一段使用print函数的个人简历展示程序,并以此为例练习python运行、调试的技能
①python的运行:写好一段print代码,点击右上角的绿色三角运行

②python的调试
第一步:设置断点
点击行号出现红色圆圈即可设置断点,设置断点后进行调试,代码会运行至断点处停止。如果不设置断点直接调试,代码会和直接运行一样。

第二步:运行调试(Shift+F9)
如下图,有多种方式运行调试,或者直接快捷键(Shift+F9),运行调试后代码会运行至断点处停止,并进入调试模式

3.编写程序,练习变量和类型、字符串、对象、缩进和注释等;
①变量:
Python中的变量是用于存储数据的标识符,可以是数字、字符串、列表、元组、字典等数据类型,变量可以采用大写字母、小写字母、数字、下划线_以及汉字等字符及其组合命名,但名字的首字母不能是数字,中间不能出现空格,长度没有限制,变量名大小写敏感,使用前必须先进行赋值,赋值使用等号(=),变量的数据类型可以随时改变,例如,一个变量可以先赋值为整数,然后再赋值为字符串
②类型
Python中的数据类型包括数字、字符串、列表、元组、字典、集合和布尔值等。
③字符串
字符串是Python中表示文本的数据类型,可以使用单引号、双引号或三引号来表示。在Python中,字符串有两种序号体系:正向序号和反向序号。

④缩进
在Python中,缩进是唯一的表示代码块的层次结构的方式,缩进的数量表示代码块的层次关系,所以在Python强制要求缩进,下面是一个简单的示例代码,体现了Python中的强制缩进:

如果将其中的缩进去除,如下图:

这个代码会出现语法错误,如下图所示,编译器会提示你if之后需要添加缩进的代码块,如下图:

⑤注释
注释是Python代码中非常重要的一部分,可以提高代码的可读性和可维护性,注释有两种写法:
第一种:单行注释:以#开头;
第二种:多行注释:以"""开头和结尾。

(上图为单行与多行注释的示范)

  1. 编写一个猜数字的游戏。
    ①简介:我设置了一个可以选择难度的猜随机数游戏,由电脑根据用户选择的难度在一定范围内生成随机数,根据用户猜数字的大小进行答案提示,并在一轮游戏结束后询问用户是否再来一局,若不继续游戏则对用户道别,如下图:
    https://img2024.cnblogs.com/blog/3621125/202503/3621125-20250324022245386-583809779.png)
    (上图为实验成果:猜数字游戏)
    ②函数介绍:总结一下代码中用到的函数:
  2. print():输出信息到控制台。
  3. input():获取用户输入。
  4. random.randint():生成指定范围内的随机整数。
  5. int():将输入转换为整数。
  6. str():将整数转换为字符串,用于拼接提示信息。
  7. lower():将输入的字符串转为小写,方便判断是否继续。
    ③循环控制语句while的运用:
    实验中使用了内外两个while
    外层:循环控制语句while使游戏可以在用户输入‘y’时实现重启
    内层:使游戏在猜测错误时不断重复运行此段代码

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

  • 问题1:在输入中漏掉guessnumber后的“:”导致报错
  • 问题1解决方案:通过debug标红出错处后纠正
  • 问题2:在最后对整个代码套入外层while语句时对while的位置以及最后一段“询问是否再来一局”的代码位置把握不准,导致多次循环游戏介绍、猜对后仍循环游戏的问题出现
  • 问题2解决方案:询问PyCharm中的nexchatgpt对代码进行修改
  • 问题3:用户在最后的询问中未回复y仍重启游戏
  • 问题3解决方案:上网查询如何结束循环,对关键字break的用法进行学习,在代码最后加入break使循环结束
  • 问题4:输入老师讲授的压缩代码无反应
  • 问题4解决方案:询问老师后得知新建文件位置与输入的路径不同,无法找到文件

其他(感悟、思考等)

在本次实验中,我按照自己的想法写出了一个“属于自己的游戏”并与家人分享,这是一个前所未有的体验,虽然只是一个简单的猜数字游戏,但是看着代码成功运行、显示出我编辑好的话时我产生了前所未有的成就感——“原来python这么有趣”。(也在想是不是应该选理科学计算机?)
但在这种成就感背后,还有前期一步步输入、检查代码的繁琐,发现报错后的思考与修改,我在这个过程中深刻的体会到计算机程序的精准性,和文科不同在语言文字允许多样表达,而理科追求精准无误,这一理念在一次次的编写代码中逐渐深入人心。
最让我印象深刻的是在编写“询问用户是否再来一次”部分的代码时,由于这是我个人想要加入的功能,没有先例参考,在编写的时候真正需要考虑语句的逻辑关系,“外层控制语句while应该放在那一段代码前面、在哪里结束?”“如何设置缩进才能使代码在用户输入选项之后重复运行?”这些都是我要思考的问题,一个简单的内外侧语句都需要我如此仔细考虑,那么编写多层嵌套的复杂代码的人该有多么强大、敏捷的思维逻辑能力?在学习python后我对程序员肃然起敬。

参考资料

  • 《Python程序设计》

  • 《Java程序设计与数据结构教程(第二版)》学习指导

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/904539.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WinForm 使用 Win32 API 实现的无边框窗口

WinForm 使用 Win32 API 实现的无边框窗口前言 时光荏苒,转眼已近是2025年了。不知不觉两年多没有研究代码了,在这期间 .NET 10 都快 RC 了,前几天刷手机看到张队公众号里有关于 .NET 9.0 AOT 发布的内容,所以写了这些代码来测试一下 AOT 编译的效果,并评估未来是否开发支…

C语言打卡学习第4天(2025.3.23)

今天只写了几道基础题,又看了下数组和冒泡排序,概念搞懂了但是写代码还是比较困难,准备明天把排序这类题好好看看。

一文速通Python并行计算:01 Python多线程编程-基本概念、切换流程、GIL锁机制和生产者与消费者模型

多线程允许程序同时执行多个任务,提升效率和响应性。线程分为新建、就绪、运行、阻塞和死亡五种状态。Python的GIL锁限制多线程并行执行,适合I/O密集型任务。生产者-消费者模型通过共享缓冲区和条件变量实现线程协作,解决数据共享问题。一文速通 Python 并行计算:01 Python…

Spring的三级缓存详解

目录 1、什么是三级缓存 2、三级缓存详解Bean实例化前属性赋值/注入前初始化后总结3、怎么解决的循环依赖 4、不用三级缓存不行吗 5、总结 一、什么是三级缓存 就是在Bean生成流程中保存Bean对象三种形态的三个Map集合,如下:

20244207 实验一 《python程序设计》实验报告

# 20244207 2024-2025-2 《Python程序设计》实验一报告 课程:《Python程序设计》 班级: 2442 姓名: 赵文萱 学号:20244207 实验教师:王志强 实验日期:2025年3月18日 必修/选修: 公选课 1.实验内容 1.熟悉Python开发环境; 2.练习Python运行、调试技能; 3.编写程序,…

20244202 《Python程序设计》实验一报告

20244202 《Python程序设计》实验一报告 课程:《Python程序设计》 班级: 2442 姓名: 陈艺豪 学号:20244219 实验教师:王志强 实验日期:2025年3月23日 必修/选修: 公选课 1.实验内容 (1).熟悉Python开发环境; (2).练习Python运行、调试技能; (3).编写程序,练习变量和类…

USTCPC 2025 游记

队名 合肥一中能不能多请点OI教练,二人队。队长 @包涵宇 ,省队爷。 Day -inf~0 随机写了几道有意思的 cf 。 bhy 又在做黑的插头 dp 。膜拜。 Day 1 早上被父母逼着学习文化课,结果作业做不完直接半红温状态,, 加上昨天做了 ~8h 文化课作业只完成了 1/2 ,然后直接不做了…

AI运维助手-LinuxAgent

介绍 LinuxAgent是基于LLM大模型的智能运维助手,通过接入DeepSeek API实现对Linux终端的自然语言控制,可以实现高效的运维工作。目前已经更新到2.0.5版本。 LinuxAgent能够理解用户的自然语言指令,只要描述需求,系统自动解析意图并执行,支持中文、英语等,可以理解复杂的多…

微服务Elasticsearch

Elasticsearch中倒排索引 为什么查询效率高 比如说一个商品 在一百万条数据中 你如果要搜的话 他会从一百万条数据中去寻找 比如说你要搜小米手机 但是倒排索引是这样的 //倒排 { "小米": [1], "手机": [1,2,3,4], } 他在给定的文档范围内去搜索 比如说正…

20242825 2024-2025-2 《网络攻防实践》第四周作业

@目录一. 实验内容1.1 实验内容概述1.2 实验相关知识概述二. 实验过程2.1 ARP缓存欺骗攻击2.1.1 实验环境配置2.1.2 连通性测试2.1.3 继续实验实验亮点出现问题检查问题解决问题2.2 ICMP重定向攻击2.2.1 实验环境配置2.2.2 连通性测试发现问题检查问题解决问题2.2.3 继续实验…

论文解读-Advances in 3D Generation: A Survey

论文介绍 题目: Advances in 3D Generation: A Survey 发表年份是 2024年,综述性质的文章,是看到腾讯发布了混元3D大模型所以来看看这个论文主要贡献 论文主要根据当前研究领域内不同的3D资产的生成方法进行了一个分类,将3D生成算法分为:前馈生成,基于优化的生成,基于过…