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程序设计》实验报告相关推荐

  1. 大学计算机在线作业答案,上海交通大学《计算机》在线作业二参考答案

    <上海交通大学<计算机>在线作业二参考答案>由会员分享,可在线阅读,更多相关<上海交通大学<计算机>在线作业二参考答案(13页珍藏版)>请在人人文库网上 ...

  2. 交叉编译及linux简单程序设计,嵌入式实验6交叉编译及Linux简单程序设计实验

    实验六交叉编译及Linux简单程序设计实验的实验报告 一实验目的 1.了解和掌握交叉编译模式和方法: 2.熟悉和掌握Linux简单程序设计. 二实验环境 预装Fedora10_A8_Linux的pc机 ...

  3. Linux编译和下载嵌入式实验,嵌入式实验6交叉编译及Linux简单程序设计实验

    <嵌入式实验6交叉编译及Linux简单程序设计实验>由会员分享,可在线阅读,更多相关<嵌入式实验6交叉编译及Linux简单程序设计实验(7页珍藏版)>请在人人文库网上搜索. 1 ...

  4. c语言实验内容.doc答案,C语言程序设计实验内容与答案.doc

    C语言程序设计实验内容与答案 C语言程序设计实验内容与答案 第1周实验内容 本次实验内容为熟悉VC++6.0环境,编写第一个c程序:已知两边求矩形的面积 #include int main() { f ...

  5. java实验四云南大学_云南大学JAVA程序设计实验四

    云南大学JAVA程序设计实验 云南大学软件学院 实 验 报 告 序 号: 实验老师: 陆歌皓 课程名称: JAVA程序设计实验 实验名称: lab4 学 号: 20111120279 姓 名: 李张昱 ...

  6. c语言程序设计实验周信东指针,C语言程序设计实验4数组周信东

    1.实验 4 数 组姓名:XXX 学号: 实验日期:XXX1. 实验目的和要求(1)掌握一维数组与二维数组的定义.使用及初始化方法.(2)学习数组作为函数参数的用法.(3)掌握字符数组和字符串函数的使 ...

  7. c语言实验五函数答案,C语言程序设计实验五 参考答案.doc

    C语言程序设计实验五 参考答案 实验5 函数(1)参考答案 5-1.以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上.调试运行程序,观察出现了什么错误,提出修改方案. 答案: # ...

  8. c语言程序设计实验指导交大答案,C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改.doc...

    C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改.doc 实验一 Visual C集成环境实验内容(一)程序改错1.(1)无法运行(2)将第二个C程序重 ...

  9. c语言实验设备管理系统设计作业,c语言程序设计实验设备管理系统

    c语言程序设计实验设备管理系统 1 苏州市职业大学继续教育学院 课 程 设 计 说 明 书 名称 C 语言程序设计课程设计 2012 年 10 月 31 日至 2012 年 11 月 14 日共 2 ...

  10. c语言程序设计实验周信东指针,C语言程序设计实验4 数组 周信东

    实验4 数组 姓名:XXX 学号:XXX实验日期:XXX 1.实验目的和要求 (1)掌握一维数组与二维数组的定义.使用及初始化方法. (2)学习数组作为函数参数的用法. (3)掌握字符数组和字符串函数 ...

最新文章

  1. 文章推荐 | 城市规划中城市信息学的研究进展
  2. core部署iis的 调试net_远程调试远程 IIS 计算机上的 ASP.NET Core - Visual Studio | Microsoft Docs...
  3. Scala类的定义,主/辅构造器,以及方法中的变量定义,单例对象,伴生对象,Apply方法调用,应用程序对象
  4. LocalDateTime - Java处理日期和时间
  5. 域控制器显示无法使用解决办法
  6. understanding shader mat4 * vec4 calculation​
  7. c#中如何实现拷贝对象
  8. linux跑caffe模型的步骤,Caffe初步实践——使用训练好的模型完成语义分割任务
  9. 计算机的外部设备 硬盘,外部设备采用SMB协议想共享电脑硬盘下的文件
  10. 【Linux 4,2021最新Java笔试题及答案
  11. 包机项目源码分析笔记
  12. sql与mysql数据对接_SQL Server 对接MySQL 数据库
  13. arduino下载库出错_关于程序下载到最后卡住了以及自带库不能用的问题!!
  14. pythoncad标注教程,AotuCAD国标字体和标注设置技巧图文教程
  15. 分布式存储系统设计的若干原则
  16. 三、电容屏原理(2)
  17. IntelliJ IDEA文件模板变量
  18. Typora数学符号如何表示
  19. python 循环语句 教学设计_pythonwhile循环教案
  20. java 调用felix_寻找在动态加载Jar文件中使用Apache Felix并在Java中在运行时实例化类的基本示例...

热门文章

  1. redis下的cluste的脚本监控
  2. Python 学习1
  3. ADC12DJ3200 FMC子卡原理图PCB代码 FMC采集卡 JESD204B源码
  4. ipad下载的文件在哪里可以找到
  5. 头戴式耳机适合运动吗、五款最适合运动的耳机分享
  6. 驯龙高手java版_石器时代2驯龙高手BT版
  7. 中职计算机教师招聘面试试题及答案,中职学校教师招聘面试技巧
  8. python登录并关注公众号_Python|Flask实现登录功能
  9. aspx导出excel是html编码,导出Execl 系列: web页面导出到Excel乱码解决
  10. 一、CTF-Web-信息泄露(记录CTF学习)