20242213 实验二《Python程序设计》实验报告

news/2025/3/30 0:33:56/文章来源:https://www.cnblogs.com/kuaitou-kid/p/18795069

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

课程:《Python程序设计》
班级: 2422
姓名: 刘宗林
学号:20242213
实验教师:王志强
实验日期:2025年3月26日
必修/选修: 公选课

1.实验内容

  • 设计并编写一个计算器程序,实现基本运算功能;
    • 功能包括加、减、乘、除、取余、乘方、对数、三角函数,按位与、按位或、按位异或、按位取反、左移、右移;
    • 模式包括实数运算模式、虚数运算模式、位运算模式。
  • 调试并完善计算器程序并提交到码云。
  • 设计并编写一个随机简单出题程序。
  • 调试并完善出题程序并提交到码云。

2. 实验过程及结果

  • 学习相关python语法,扩充相关知识储备(详见参考资料);

  • 编写程序框架,并根据需要不断优化(反复调试和询问deepseek);

(1)计算器

反复修改

询问ai

最终效果

3
请输入第一个数:
5
请选择以下操作:1. 按位与 (&)   2. 按位或 (|)  3. 按位异或 (^)4. 按位取反 (~)   5. 左移 (<<)    6. 右移 (>>)请输入操作编号:5
请输入第二个数:
2
5 | 2 = 20请问您是否需要继续计算?(y/n)n
欢迎您下次再使用我~~Process finished with exit code 0
  • 完整程序代码托管到码云仓库 (Gitee);

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

  • 问题1:输入格式错误
  • 问题1解决方案:根据报错找到代码
mode == '1'

但是输入mode是int类型,修改后不再出现错误。

  • 问题2:模拟用户输入与预期不符,程序崩溃
  • 问题2解决方案:阅读[python异常捕获]相关资料后加入异常

    效果如下:
请选择运算范围:1.实数运算;2.复数运算;3.位运算
agdfgaf
请正确输入请选择运算范围:1.实数运算;2.复数运算;3.位运算
1
请输入第一个数:
fasdf2
请正确输入
请输入第一个数:
3
请选择以下操作:1. 加法    2. 减法    3. 乘法    4. 除法5. 取模    6. 对数   7. 幂运算    8. 正弦9. 余弦    10. 正切  11.平方根请输入操作编号:184
请输入正确序号
请选择以下操作:1. 加法    2. 减法    3. 乘法    4. 除法5. 取模    6. 对数   7. 幂运算    8. 正弦9. 余弦    10. 正切  11.平方根请输入操作编号:1
请输入第二个数:
1
3.0 + 1.0 = 4.0请问您是否需要继续计算?(y/n)
  • 提交代码(详见码云仓库推送记录)

(2)随机出题

代码

运行结果

你想要我出几道题呢: 5
2*6= 12
答对啦,你真棒!!!
7÷4= (保留整数)2
答错了,你真菜。。。
5*6= 30
答对啦,你真棒!!!
0+9= 9
答对啦,你真棒!!!
1-1= 0
答对啦,你真棒!!!
这次练习你得了80.0分!Process finished with exit code 0

4. 其他(感悟、思考等)

  • 在python的进一步学习中,再次深深感受到python语法简洁高效而功能强大,“人生苦短,我用python”。
  • 函数可以极大的提高代码复用性,降低程序编写的复杂度,且更加清晰的认识到了python的动态特点。
  • 在编写代码过程中发现可以用列表索引对应操作符,于是改进程序,优化了使用体验(简洁)。
  • 编写程序还是比较繁琐的,但是我有信心继续坚持下去!!

参考资料

  • 《零基础学python》
  • 【python基础】——python 复数运算
  • 【python教程】之try--except异常捕获
    特别致谢:王志强老师!

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

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

相关文章

《实战Java高并发程序设计(第3版)》 | PDF免费下载

《实战Java高并发程序设计(第3版)》主要介绍基于Java的并行程序设计基础、思路、方法和实战。第一,立足于并行程序基础,详细介绍Java并行程序设计的基本方法。第二,进一步详细介绍JDK对并行程序的强大支持,帮助读者快速、稳健地进行并行程序开发。第三,详细讨论“锁”的…

《DeepSeek原理与项目实战》 | PDF免费下载

DeepSeek 是一种基于 Transformer 架构的生成式 AI(Artificial Intelligence)大模型,融合了MoE 架构、混合精度训练、分布式优化等先进技术,具备强大的文本生成、多模态处理和任务定制化能力。本书系统性地介绍了开源大模型 DeepSeek-V3 的核心技术及其在实际开发中的深度应…

实现极限网关(INFINI Gateway)配置动态加载

还在停机更新 Gateway 配置,OUT 了。 今天和大家分享一个 Gateway 的功能:动态加载配置(也称热更新或热加载)。 这个功能可以在 Gateway 不停机的情况下更新配置并使之生效。 配置样例如下: path.data: data path.logs: logconfigs:auto_reload: true # set true to auto …

ubuntu20.04安装Synergy

问题 最近在Ubuntu20.04上安装新版本的Synergy遇到一些问题,Synergy最后一个支持ubuntu20.04的版本是v3.1.3-beta,下面是下载地址: https://symless.com/synergy/download/other 在安装的时候遇到下面的问题:提示依赖libssl1,然后尝试安装下面的软件包: sudo apt install…

Netty源码—7.ByteBuf原理二

大纲 9.Netty的内存规格 10.缓存数据结构 11.命中缓存的分配流程 12.Netty里有关内存分配的重要概念 13.Page级别的内存分配 14.SubPage级别的内存分配 15.ByteBuf的回收9.Netty的内存规格 (1)4种内存规格 (2)内存申请单位(1)4种内存规格 一.tiny:表示从0到512字节之间的内存大…

一文速通Python并行计算:03 Python多线程编程-多线程同步(上)—基于互斥锁、递归锁和信号量

在 Python 多线程编程中,线程同步是确保多个线程安全访问共享资源的关键技术。本篇文章介绍了互斥锁(Lock)、递归锁(RLock) 和 信号量(Semaphore) 的概念与应用。互斥锁用于防止多个线程同时修改数据,递归锁适用于嵌套锁定场景,而信号量则限制同时访问资源的线程数。一…

K3D|高效创建轻量级 k8s 集群 (run in dokcer)

k3d 是一个轻量级的包装器,用于在 docker 中运行 k3s(Rancher Lab 的最小 Kubernetes 发行版)什么是 K3S 官网:https://k3s.io/ 指南:https://rancher.com/docs/k3s/latest/en/ 中文版指南:https://docs.rancher.cn/docs/k3s/_index/ K3s 是一个轻量级的 Kubernetes 发行…

记录一下安装适用于intel 显卡的torch

支持的硬件和驱动如下按照表格安装好驱动。使用conda创建好虚拟环境(Python 3.9, 3.10, 3.11, 3.12, 3.13.)后,我的显卡是arc A580# For hardware listed in the table above, other than Intel Core™ Ultra Series 2 Mobile Processors (Arrow Lake-H), use the commands …

AP CSA FRQ Q2 Past Paper 五年真题汇总 2023-2019

Author(wechat): bigshuang2020 ap csa tutor, providing 1-on-1 tutoring. 国际教育计算机老师, 擅长答疑讲解,带学生实践学习。 热爱创作,作品:ap csa原创双语教案,真题梳理汇总, AP CSA FRQ专题冲刺, AP CSA MCQ小题狂练。2023 FRQ Q2 Sign This question involves met…

RabbitMQ的核心组成部分即分发模式

核心概念:Server:又称Broker ,接受客户端的连接,实现AMQP实体服务。 安装rabbitmq-serverConnection:连接,应用程序与Broker的网络连接 TCP/IP/ 三次握手和四次挥手Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道,客户端可以建立对各…

RabbitMQ的核心组成部分

核心概念:Server:又称Broker ,接受客户端的连接,实现AMQP实体服务。 安装rabbitmq-serverConnection:连接,应用程序与Broker的网络连接 TCP/IP/ 三次握手和四次挥手Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道,客户端可以建立对各…

Oracle11备份方案

备份方案(一) 1.1.备份脚本#!/bin/bash # Oracle 11g 业务库备份脚本# 配置部分 ORACLE_SID=orcl # 数据库实例名(按实际修改) BACKUP_DIR=/opt/oracle/backups # 备份存储目录 LOG_DIR=/opt/oracle/logs # 日志目录 KEEP_COPIES=7 # 保…