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


    学号 2019-2020-2 《Python程序设计》实验x报告

    课程:《Python程序设计》
    班级: 1822
    学号:20182213
    实验教师:王志强
    实验日期:2020年4月11日
    必修/选修: 公选课

    1.实验内容

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

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

    2. 实验过程及结果

    本次实验我选择制作了一个计算器,使用方式是只需要输入一串运算表达式,计算器就能自动得出运算结果具体步骤如下所示:

    • 首先我们采用数据结构作为辅助定义两个类,一个为结点类,另一个为栈类
    • 在栈类中我们定义判断栈是否为空的方法,压栈弹栈方法,和打印栈中所有元素方法
    • 我们再定义一个计算器的类文件,在此我们初始化两个实例栈类对象,一个用来存储数字栈,另一个用来存储链栈。
    • 在计算器类中我们给不同运算符赋予不同优先级,方便其进行优先级不同的运算,从而可以将带括号的运算也能够得出正确的答案。
    • 定义比较不同优先级的方法
    • 设置判断函数,如果是数字直接入栈,如果是运算符则将其与栈顶运算符进行比较,如果优先级高于栈顶运算符,则直接压栈,如果比栈顶运算符优先级低,则进行弹栈操作,并进行运算。如此往复,直到栈内元素为空时,运算完成。
      运行结果



      断点调试

      代码截图:

    码云链接:
    https://gitee.com/python_programming/python_2020_programming/commit/5814dc0713a7c4553cf92f93091edb42a01dda6a

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

    • 问题1:无法输入小数和多位数
    • 问题1解决方案:加入一个判断位数的计数器,计算小数点位置即可

    参考资料

    • [《Python编程从入门到精通》]
  • 相关阅读:
    UVA 558 Wormholes
    HDU 1565 方格取数(1)
    poj2607
    poj2552
    poj2491
    poj2502
    poj2613
    .NET Framework 4 与 .NET Framework 4 Client Profile的区别与联系
    .Net Framework 4.0 和 2.0/3.0/3.5
    企业IT系统
  • 原文地址:https://www.cnblogs.com/Mellivorac/p/12734892.html
Copyright © 2020-2023  润新知