实验二 计算器设计
实验二 计算器设计
(一)实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点
(二)实验要求
创建工程项目,使用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
- ...
其他(感悟、思考等)
在编写程序是,应当注意不同条件之间是否具有相同的部分;就如本段程序这样,原本打算算一个次方问题,但*包括在**之中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 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的设计差异
· 三行代码完成国际化适配,妙~啊~