设计一个python程序来计算显示通过如图_20182109 《Python程序设计》实验二报告

本文档详细记录了一位学生在《Python程序设计》课程中完成的实验二——设计一个具备多种运算功能的计算器的过程。该计算器实现了加、减、乘、除、模、幂、正弦、余弦和正切等运算。在实验中,作者遇到了如何使用math库、逻辑语句连接和元组下标等问题,并逐一解决。通过这个实验,作者对Python的语法、逻辑运算和元组有了更深入的理解。
摘要由CSDN通过智能技术生成

20182109 2019-2020-2 《Python程序设计》实验二报告

课程:《Python程序设计》

班级: 1821

姓名: 卢钟添

学号:20182109

实验教师:王志强

实验日期:2020年4月11日

必修/选修: 公选课

1. 实验内容

设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。

考核基本语法、判定语句、循环语句、逻辑运算等知识点

2. 实验过程及结果

实验二的代码实现分为三部分组成,分别是计算器功能选择界面、运算数的输入和运算以及结束使用界面。

1.功能选择

做为一款能满足日常使用的计算器,本代码共提供加法,减法,乘法,除法,求模,幂乘,正弦,余弦和正切的计算

为了方便用户的输入和程序的读入,由数字1~9代替,运行界面如下图所示

为了让用户能够清楚地看到自己选择了哪一项运算,我设置了一个元组来存储这九项运算功能,方便直接调用来显示当前的功能

考虑到这是一款可以满足日常使用的计算器,那必然是可以连续使用的,当然也可以退出使用

所以我将整个运算过程装入一个大的while(True)循环,并提示用户当其输入数字0时即可退出使用。

如果用户在功能选择界面不小心键入了其他字符也没事,因为程序会提示并让用户再次键入,直至用户选择了本计算器提供的功能。

2.运算数的输入和运算

在这款计算器中,不同的运算可能需要不同个数的运算数,因此我将这九种运算分为两大部分。

前五种运算均需要两个运算数,在后四个运算中,只有幂运算需要底数和幂,其余三个三角函数都只能有一个运算数。

因此我根据用户选择的功能的不同,来建立不同的选择分支

对于每一种运算我都建立了一个函数,由此来缩减主函数的代码行数。

其中,除法是这九个函数中最值得注意的,因为除数不能为0,否则该运算无意义,因此在除法函数中需要添加一个判断,即判断除数是否为零,若为零则需要返回一个错误信息,让主函数得知这个情况。

和其他语言不同,Python中的幂乘运算是通过两个乘号来说明的,即**能表示一个幂乘

而正弦,余弦和正切这三个三角函数可以通过import math导入math库来使用相应的库函数进行计算

在使用math库中的库函数是需要注意的是要用形如

math.sin()或math.tan()

来说明这是属于math库的sin(),tan()函数

3.结束使用

当用户输入0表示结束使用时,计算器会输出相应的结束语句并终止程序

4.程序运行结果说明

如图显示在执行幂运算结束后,计算器程序还会持续运行,当用户键入了本程序不支持的功能时,会报错,并提醒用户重新输入,

在执行乘法时,因为运算数都是以二进制数存储在计算器内部的,所以在运算结果的精度上难免会出现些许差错。最后当用户输入0代表不再需要使用时,本程序就正确终止并结束。

5.码云链接

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

问题1:不能正确使用math库中的函数

问题1解决方案:通过询问老师,得知要在代码中使用某一库中的函数除了import 库名之外还必须要以该格式库名.函数名(参数)来调用函数

问题2:在if条件语句中不能正确的用"|"将逻辑语句连接在一起

问题2解决方案:通过阅读编译器提示的错误信息,得知需要用括号将各个逻辑语句括起来,由此提高了逻辑语句的优先级,这样编译器才能正确理解语句

问题3:在使用元组时,下标越界

问题3解决方案:在直接调用用户输入的基础上对数据-1就能正确显示元组中的元素

其他(感悟、思考等)

在进行第二次实验的过程中,我发现原先自以为掌握的很好的条件判断语句也有或多或少的漏洞,例如总会在一些关键的地方漏掉括号或冒号等重要的符号,

在经过调试,单步运行后我对判定语句、循环语句、逻辑运算这三个知识点有了更深的理解。

同时,这次实验也让我对元组的知识点有了巩固,在使用元组的过程中,我要时刻注意下标是从0开始的,即需要将相应的功能号-1再传到元组中使用。

其实,每次实验不是对自己现有知识的考核,而是对薄弱知识点的突击,在一次次的代码编写过程中,我才能发现自己的缺陷,不足。

如此我才能一步步加深自己的逻辑思维能力,提高自己的编程技巧。

参考资料

《python编程 从入门到实践》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值