20223405 李硕 2022-2023-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 2234
姓名: 李硕
学号:20223405
实验教师:王志强
实验日期:2023年3月23日
必修/选修: 公选课

1.实验内容

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

2. 实验过程及结果

编写代码,代码如下:

import math
def add(a,b): 
    return a+b
def jian(a,b):
    return a-b
def x(a,b):
    return a*b
def chu(a,b):
    return a/b
def yu(a,b):
    return a%b
def sqr(a):
    return math.sqrt(a)
def fang(a,b):
    return a**b
def ln(a):
    return math.log(a)
def fab(a):
    return abs(a)
def arcsi(a):
    if a<=-1 or a>=1:
        print("输入数值越界\n请输入-1到1之间的数\n")
        a=int(input())
        return math.asin(a)
    else:
        return math.asin(a)
def arccs(a):
    if a<=-1 or a>=1:
        print("输入数值越界\n请输入-1到1之间的数\n")
        a=int(input())
        return math.acos(a)
    else:
        return math.acos(a)
def arcta(a):
    if a<=-1 or a>=1:
        print("输入数值越界\n请输入-1到1之间的数\n")
        a=int(input())
        return math.atan(a)
    else:
        return math.atan(a)
def si(a):
    return math.sin(a)
def cs(a):
    return math.cos(a)
def ta(a):
    return math.tan(a)
repeat=1
while repeat==1:
    print("请输入运算符号和运算数据来实现功能\n可进行四则运算、乘方(输入**)、开二次方(输入sqrt)、取以e为底的对数(输入log)、取绝对值(输入fabs)、取余(输入%)、反三角函数(输入arcsin等)、三角函数(输入sin、cos等)\n")
    choice=input()
    print("请输入两个数,如果是针对一个数的运算(如开方),第二个数请输入0\n")
    a=float(input())
    b=float(input())
    if choice=='+':
        print(add(a,b))
    elif choice=='-':
        print(jian(a,b))
    elif choice=='*':
        print(x(a,b))
    elif choice=='/':
        print(chu(a,b))
    elif choice=='%':
        print(yu(a,b))
    elif choice=="sqrt":
        print(sqr(a))
    elif choice=="log":
        print(ln(a))
    elif choice=="fabs":
        print(abs(a))
    elif choice=="**":
        print(fang(a,b))
    elif choice=="arcsin":
        print(arcsi(a))
    elif choice=="arccos":
        print(arccs(a))
    elif choice=="arctan":
        print(arcta(a))
    elif choice=="sin":
        print(si(a))
    elif choice=="cos":
        print(cs(a))
    elif choice=="tan":
        print(ta(a))
    repeat=int(input("若想再次计算请输入1,否则按其它任意键退出\n"))

提交至Gitee:

运行结果:

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

  • 问题1:有些计算是两个数的运算,有些是单个数字的运算,如果分运算符进行输入会显得代码过于复杂
  • 问题1解决方案:统一让用户输入两个数,若是单个数字的运算,则让用户在另一个数字处输入0

其他(感悟、思考等)

这次实验是对第一次的延续,同样对我们的基本语句以及基本控制结构有着较高的要求,需要我们能够熟练运用基本控制结构来实现计算器不同类型运算以及程序多次运行功能的实现,同时也附加性地涉及到了简单的函数调用和定义。但是在选择不同运算符的语句中,如果仅用if和elif进行选择和切换未免会让代码过于冗杂而且效率低下,因此在此我们需要寻求到更加有效的选择结构的算法或者学习到更加高效的选择结构语句,才能彻底攻克这一问题,这也需要我们进行更加长期的学习。

​​​​​​​

20223405 李硕 2022-2023-2 《Python程序设计》实验二报告相关推荐

  1. python程序设计报告-Python程序设计实验一报告

    Python程序设计实验报告 班级 :_ 物流192_ 姓名 :袁悦 学号 :3190505230 日期 :2020年3月3日 指导老师 :修宇 实验名称实验一 熟悉IDLE和在线编程平台 实验目的 ...

  2. 基于python的文件加密传输系统 毕业论文_20183411 李丞灏 2020-2021 《python程序设计》 实验三 加密传输文件 实验报告...

    20183411 李丞灏 2020-2021 <python程序设计> 实验三 加密传输文件 实验报告 课程:<Python程序设计> 班级: 1834 姓名: 李丞灏 学号: ...

  3. python综合程序设计-Python程序设计实验五:综合运用三种基本结构进行程序设计...

    安徽工程大学 Python程序设计实验报告 班级:物流192 姓名:李心悦 学号:3190505218成绩: 日期:2020. 4.26 指导教师:修宇 [实验名称] 实验五 综合运用三种基本结构进行 ...

  4. python程序设计梁勇 百度网盘_20194220 2019-2020-2 《Python程序设计》实验二报告

    20194220 2019-2020-2 <Python程序设计>实验二报告 课程:<Python程序设计> 班级: 1942 姓名: 梁勇 学号:20194220 实验教师: ...

  5. 基于python物流管理系统毕业设计-Python程序设计实验报告一 :熟悉IDLE和在线编程平台...

    Python程序设计实验报告 班级 物流192 姓名 张羽 学号 3190505221 成绩 日期 3月5日 指导老师 修宇 实验名称 实验一 熟悉IDLE和在线编程平台 实验目的 1.掌握pytho ...

  6. 基于python物流管理系统毕业设计-Python程序设计实验报告二

    安徽工程大学 Python 程序设计 实验报告 班级: 物流192 姓名:刘晨晨 学号:3190505214 日期: 3.21 指导教师:修宇 实验二 顺序结构程序设计(验证性实验) [实验目的] ( ...

  7. 基于python物流管理系统毕业设计-Python程序设计实验报告八:文件

    安徽工程大学 Python程序设计 实验报告 .班级 物流192 姓名张羽学号3190505221成绩 日期2020.6.3指导老师修宇 实验八 文件 [实验目的] 掌握读写文本文件或 CSV 文件, ...

  8. python实验二报告_20172304 2019-2020-2 《Python程序设计》实验二报告

    20172304 2019-2020-2 <Python程序设计>实验二报告 课程:<Python程序设计> 班级: 1723 姓名: 段志轩 学号:20172304 实验教师 ...

  9. python程序设计实验七_Python程序设计实验报告七:组合数据类型

    安徽工程大学 Python程序设计实验报告 班级物流192姓名芦靓学号3190505217成绩 日期2020.5.27指导老师修宇 [实验名称]实验七 组合数据类型 [实验目的] 熟悉通过序列索引迭代 ...

最新文章

  1. 浅析网站建设基本流程
  2. 使用MFC进行编程,绘制直线椭圆以及样条曲线
  3. Linux高可用性方案之Heartbeat的CRM节点得分计算(原创)
  4. 外包以小时计算金额的费用_2020年初级会计各大税种的计算公式,请收藏!
  5. [html] 可以给内联元素设置宽和高吗?为什么?
  6. 获取显示器的唯一编号_宝马奔驰才配拥有的HUD抬头显示器,买菜车也能无损安装!...
  7. 面向对象(二) 继承/里氏替换
  8. CXF WebService 教程
  9. 增值电信业务许可证 年审年报 教程 icp sp idc年审年报
  10. sublime text 2/3 快捷键汇总
  11. 软件开发过程与项目管理(7.软件项目进度计划)
  12. Centos 7.6 挂载硬盘
  13. 如何将windows桌面变成类似mac样式
  14. 临时增大 tmp 空间
  15. 文本比较算法剖析(1)-如何确定最大匹配率
  16. project weibo
  17. speedoffice使用方法-word怎么添加边框
  18. 【HBase 进阶】-- Region 过多的影响 合理分区数量
  19. 华为交换机系统版本升级(S7706)
  20. chatGPT发送图片的方法

热门文章

  1. 如何用python写一个计算日期间隔的程序?
  2. [随笔]_csdn博客解封,谢谢客服
  3. table 'mysql.proc' doesn't exist问题解决
  4. 【广告“禁用词”】 实施细则
  5. 简述园路的功能作用_园林设计中园路的功能
  6. FANUC机器人调试
  7. java byte 赋值 原码,Java基础第二天学习笔记
  8. android 小喇叭动画,CSS动画效果——语音播放小喇叭
  9. Meta云游戏架构解析,目标是降低AR/VR游戏门槛
  10. 算法分析与设计实验报告