实验二 计算器设计

实验二 计算器设计

(一)实验内容

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

考核基本语法、判定语句、循环语句、逻辑运算等知识点
(二)实验要求

创建工程项目,使用Python语言实现具体的操作运算,并完成程序调试和运行,代码托管到码云。

(三)实验报告

在规定时间前发表博客,标题“学号 实验二《Python程序设计》实验报告”

实验报告模板如下:

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

课程:《Python程序设计》
班级: 2013
姓名: 蒋进
学号:20201326
实验教师:杨志强
实验日期:2021年4月26日
必修/选修: 公选课

1.实验内容

此处填写实验的具体内容;
利用python实现计算器
支持一下运算:'+','-','*','/','%','sin','cos','tan','sqrt','n!'

2. 实验过程及结果

此处填写实验的过程及结果
def Input(list2):
a = input("请输入运算式:")
for i in list2:
if i in a:
lists = a.split(i)
lists.append(i)
break
return lists

获取计算式

def action(list1):
if list1[0]'':
a = c = list1[2]
b = int(list1[1])
elif list1[1]
'':
a = c = list1[2]
b = int(list1[0])
else:
a = float(list1[0])
b = float(list1[1])
c = list1[2]

if '+' in c:
    print("{}+{}={}".format(a,b,a+b),end='\n')
if '-' in c:
    print("{}-{}={}".format(a,b,a-b), end='\n')
if '*' in c:
    print("{}*{}={}".format(a,b,a*b), end='\n')
if '/' in c:
    if b==0:
        print("零不能做除数!")
    else:
        print("{}/{}={}".format(a, b, a / b), end='\n')
if '%' in c:
    if b==0:
        print("零不能做除数!")
    else:
        print("{}%{}={}".format(a, b, a % b), end='\n')
if 'sin' in c:
    print("{}({})={:.3f}".format(a, b, sin(b)), end='\n')
if 'cos' in c:
    print("{}({})={:.3f}".format(a, b, cos(b)), end='\n')
if 'tan' in c:
    print("{}({})={:.3f}".format(a, b, tan(b)), end='\n')
if 'sqrt' in c:
    print("{}({})={}".format(a, b, sqrt(b)), end='\n')
if '!' in c:
    print("{}{}={}".format(b, a, Fact(b)), end='\n')

对相应计算式做出计算,输出结果

def Do():
a = input("是否继续:")
if a'Y':
fla = 1
if a
'y':
fla = 1
if a'N':
fla = 0
if a
'n':
fla = 0
return fla

是否继续

def Fact(n):
m = 1
if n==0:
return 1
else:
for i in range(1,n):
m = m*i
return m

阶乘函数 #20201326蒋进#

def main():
flag = 1
list2 = ['+','-','*','/','%','sin','cos','tan','sqrt','!']
while(flag):
list1 = Input(list2)
action(list1)
b = Do()
if b==0:
break

主函数

from math import *
main()

对主函数的调用

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

  • 问题1:sin,cos,tan,qsrt;n!;以及普通运算对应的list不同
  • 问题1解决方案:增加判断语句
  • 问题2:XXXXXX
  • 问题2解决方案:XXXXXX
  • ...

其他(感悟、思考等)

在编写程序是,应当注意不同条件之间是否具有相同的部分;就如本段程序这样,原本打算算一个次方问题,但*包括在**之中。

参考资料

posted @   岳华  阅读(140)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示