上海交通大学python实验二_20183215 实验二《Python程序设计》实验报告
20183215 2019-2020-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 1832
姓名: 董振龙
学号: 20183215
实验教师:王志强
实验日期:2020年4月20日
必修/选修: 公选课
1.实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点
2. 实验过程及结果
def add(a,b): #加法函数
print(a,"+",b,"=",a+b)
return a+b
def sub(a,b): #减法函数
print(a,"-",b,"=",a-b)
return a-b
def mul(a,b): #乘法函数
print(a,"×",b,"=",a*b)
return a*b
def div(a,b): #除法函数
if b==0:
b=float(input("除数为零,请重新输入:"))
print(a,"÷",b,"=",a/b)
return a/b
else:
print(a,"÷",b,"=",a/b)
return a / b
def mod(a,b): #模运算
if b==0:
b=float(input("除数为零,请重新输入:"))
print(a,"Mod",b,"=",a%b)
return a%b
else:
print(a,"Mod",b,"=",a%b)
return a%b
首先定义了最常见的5个运算函数,加减乘除模。在考虑其他运算时,想到了一点,就是有的运算需要两个数参与,而有的运算只需要一个数参与,比如三角函数运算以及lg等。
于是我编写了一个判断语句
if(input("1、单数运算\n"
"2、多数运算\n")=="2"):
a = float(input("第一个数:"))
b = float(input("第二个数:"))
else:
a=float(input("请输入数值:"))
在之后,便加入了其他的一些比较常见的运算函数
def log(a,b): #普通对数运算函数
print("log(a,b)=",math.log(a,b))
return math.log(a,b)
def exp(a,b): #幂运算
print(a,"^",b,"=",a**b)
def lg(a): #lg运算函数
print("lg(a)=",math.log(a,10))
return math.log(a,10)
def ln(a): #ln运算函数
print("ln(a)=",math.log(a))
return math.log(a)
def exp_e(a): #e的n次方
print("e^",a,"=",math.e**a)
def sin(a): #sin函数
print("sin",str(a)+"°","=",math.sin(math.radians(a)))
return math.sin(math.radians(a))
def cos(a): #cos函数
print("cos",str(a)+"°","=",math.cos(math.radians(a)))
return math.cos(math.radians(a))
def tan(a): #tan函数
if math.radians(a)==math.pi/2:
a=float(input("不可以为Π/2,请重新输入:"))
print("tan", str(a) + "°", "=", math.tan(math.radians(a)))
return math.tan(math.radians(a))
else:
print("tan", str(a) + "°", "=", math.tan(math.radians(a)))
return math.tan(math.radians(a))
共13个常见运算。
在那之后,便是主函数了,在之前判断语句的基础上,添加了更为细分的判断语句,同时加入了循环判断,便于多次计算
while(i==1):
if(input("1、单数运算\n"
"2、多数运算(若为对数运算,第二个数为底数;若为幂运算,第二个数为指数)\n")=="2"):
a = float(input("第一个数:"))
b = float(input("第二个数:"))
c =int(input("运算操作为:\n"
"1.+\n"
"2.-\n"
"3.×\n"
"4.÷\n"
"5.Mod\n"
"6.log\n"
"7.exp\n"))
if c==1:
add(a,b)
elif c==2:
sub(a,b)
elif c==3:
mul(a,b)
elif c==4:
div(a,b)
elif c==5:
mod(a,b)
elif c==6:
log(a,b)
elif c==7:
exp(a,b)
else:
a=float(input("请输入数值:"))
c=int(input("运算操作为:\n"
"1.sin\n"
"2.cos\n"
"3.tan\n"
"4.lg\n"
"5.ln\n"
"6.e^\n"))
if c==1:
sin(a)
elif c==2:
cos(a)
elif c==3:
tan(a)
elif c==4:
lg(a)
elif c==5:
ln(a)
elif c==6:
exp_e(a)
i=int(input("继续进行计算?\n"
"1.是\n"
"2.否\n"))
至此,代码已经完成---完整的代码
在pycharm中简单运行如下
3. 实验过程中遇到的问题和解决过程
问题:在设置三角函数运算时,不知道怎么将输入的角度转化为弧度
问题解决方案:百度之后,找到了菜鸟教程,根据其中的解释,成功做到了输入角度实现计算
其他(感悟、思考等)
这次简单计算器的制作让我想到了很多,一开始我的设想是直接输入表达式然后便完成计算,但是发现我现在学习到的还不够,于是只能是制作简易计算器,但是,接下来的学习中,我会根据我新学习到的知识,一步步的完善这个计算器,希望最终可以完成科学计算器基本功能的实现,同时加入GUI美化,奥里给!
参考资料
上海交通大学python实验二_20183215 实验二《Python程序设计》实验报告相关推荐
- 大学计算机在线作业答案,上海交通大学《计算机》在线作业二参考答案
<上海交通大学<计算机>在线作业二参考答案>由会员分享,可在线阅读,更多相关<上海交通大学<计算机>在线作业二参考答案(13页珍藏版)>请在人人文库网上 ...
- 交叉编译及linux简单程序设计,嵌入式实验6交叉编译及Linux简单程序设计实验
实验六交叉编译及Linux简单程序设计实验的实验报告 一实验目的 1.了解和掌握交叉编译模式和方法: 2.熟悉和掌握Linux简单程序设计. 二实验环境 预装Fedora10_A8_Linux的pc机 ...
- Linux编译和下载嵌入式实验,嵌入式实验6交叉编译及Linux简单程序设计实验
<嵌入式实验6交叉编译及Linux简单程序设计实验>由会员分享,可在线阅读,更多相关<嵌入式实验6交叉编译及Linux简单程序设计实验(7页珍藏版)>请在人人文库网上搜索. 1 ...
- c语言实验内容.doc答案,C语言程序设计实验内容与答案.doc
C语言程序设计实验内容与答案 C语言程序设计实验内容与答案 第1周实验内容 本次实验内容为熟悉VC++6.0环境,编写第一个c程序:已知两边求矩形的面积 #include int main() { f ...
- java实验四云南大学_云南大学JAVA程序设计实验四
云南大学JAVA程序设计实验 云南大学软件学院 实 验 报 告 序 号: 实验老师: 陆歌皓 课程名称: JAVA程序设计实验 实验名称: lab4 学 号: 20111120279 姓 名: 李张昱 ...
- c语言程序设计实验周信东指针,C语言程序设计实验4数组周信东
1.实验 4 数 组姓名:XXX 学号: 实验日期:XXX1. 实验目的和要求(1)掌握一维数组与二维数组的定义.使用及初始化方法.(2)学习数组作为函数参数的用法.(3)掌握字符数组和字符串函数的使 ...
- c语言实验五函数答案,C语言程序设计实验五 参考答案.doc
C语言程序设计实验五 参考答案 实验5 函数(1)参考答案 5-1.以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上.调试运行程序,观察出现了什么错误,提出修改方案. 答案: # ...
- c语言程序设计实验指导交大答案,C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改.doc...
C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改.doc 实验一 Visual C集成环境实验内容(一)程序改错1.(1)无法运行(2)将第二个C程序重 ...
- c语言实验设备管理系统设计作业,c语言程序设计实验设备管理系统
c语言程序设计实验设备管理系统 1 苏州市职业大学继续教育学院 课 程 设 计 说 明 书 名称 C 语言程序设计课程设计 2012 年 10 月 31 日至 2012 年 11 月 14 日共 2 ...
- c语言程序设计实验周信东指针,C语言程序设计实验4 数组 周信东
实验4 数组 姓名:XXX 学号:XXX实验日期:XXX 1.实验目的和要求 (1)掌握一维数组与二维数组的定义.使用及初始化方法. (2)学习数组作为函数参数的用法. (3)掌握字符数组和字符串函数 ...
最新文章
- 文章推荐 | 城市规划中城市信息学的研究进展
- core部署iis的 调试net_远程调试远程 IIS 计算机上的 ASP.NET Core - Visual Studio | Microsoft Docs...
- Scala类的定义,主/辅构造器,以及方法中的变量定义,单例对象,伴生对象,Apply方法调用,应用程序对象
- LocalDateTime - Java处理日期和时间
- 域控制器显示无法使用解决办法
- understanding shader mat4 * vec4 calculation​
- c#中如何实现拷贝对象
- linux跑caffe模型的步骤,Caffe初步实践——使用训练好的模型完成语义分割任务
- 计算机的外部设备 硬盘,外部设备采用SMB协议想共享电脑硬盘下的文件
- 【Linux 4,2021最新Java笔试题及答案
- 包机项目源码分析笔记
- sql与mysql数据对接_SQL Server 对接MySQL 数据库
- arduino下载库出错_关于程序下载到最后卡住了以及自带库不能用的问题!!
- pythoncad标注教程,AotuCAD国标字体和标注设置技巧图文教程
- 分布式存储系统设计的若干原则
- 三、电容屏原理(2)
- IntelliJ IDEA文件模板变量
- Typora数学符号如何表示
- python 循环语句 教学设计_pythonwhile循环教案
- java 调用felix_寻找在动态加载Jar文件中使用Apache Felix并在Java中在运行时实例化类的基本示例...
热门文章
- redis下的cluste的脚本监控
- Python 学习1
- ADC12DJ3200 FMC子卡原理图PCB代码 FMC采集卡 JESD204B源码
- ipad下载的文件在哪里可以找到
- 头戴式耳机适合运动吗、五款最适合运动的耳机分享
- 驯龙高手java版_石器时代2驯龙高手BT版
- 中职计算机教师招聘面试试题及答案,中职学校教师招聘面试技巧
- python登录并关注公众号_Python|Flask实现登录功能
- aspx导出excel是html编码,导出Execl 系列: web页面导出到Excel乱码解决
- 一、CTF-Web-信息泄露(记录CTF学习)