20183429 张少旋 2019-2020《Python程序设计》实验二 报告

20183429 张少旋 2019-2020《Python程序设计》实验二 计算器设计 报告

课程:《Python程序设计》
班级: 1834
姓名: 张少旋
学号:20183429
实验教师:王志强
实验日期:2020年4月21日
必修/选修: 选修

1.实验内容

设计并完成一个计算器应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点。

2. 实验过程及结果

该计算器可以计算加减乘除以及求模运算,并可以选择需要的精度。

代码如下

import re
def add(c,v):
d = [0]
f = 0
for k in range(0, len(c)):
if (c[k] == '-' or c[k] == '+'):
f += 1
if (c[k] == '-'):
d.append(f)
w = re.split('[+-]', c)
for item in w:
if (item.find('*') != -1):
y = w.index(item)
t = item.split('*')
n = 1
for i in t:
if (i.find('/') != -1):
q = t.index(i)
p = i.split('/')
h = 1
for bo in p:
h *= float(bo)
u = (float(p[0]) * float(p[0])) / h
t[q] = u
for i in t:
n *= float(i)
w[y] = str(n)
for item in w:
if (item.find('/') != -1):
Q = w.index(item)
P = item.split('/')
H = 1
for Bo in P:
H *= float(Bo)
U = (float(P[0]) * float(P[0])) / H
w[Q] = U
else:
continue
m = 0
r = 0
for item in w:
m += float(item)
for fi in d:
r += float(w[fi])
m = m - 2 * r + 2 * float(w[d[0]])
M = round(m,v)
return M
def mod(A1,B1):
y = A1%B1
return y
A = 1
while (A != 0):
A = int(input("欢迎使用计算器!\n请输入您想要实现的功能:\n1.普通计算 2.模运算 0.退出""\n"))
if (A == 1):
c = str(input("请输入计算式:\n"))
v = int(input("请输入想要保留的数据精度:\n"))
print(c + '=' + str(add(c, v)))
elif (A == 2):
print("A mod B\n")
A1 = int(input("请输入 A:\n"))
B1 = int(input("请输入 B:\n"))
print(str(A1)+' '+'mod'+' '+str(B1)+' '+'='+' '+str(mod(A1,B1)))
print("\n")
结果截图:

 

 

 

 

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

问题:pycharm无法将代码push到码云

 

 解决方案:暂时没有解决,尝试过重新配置Git,重新安装pycharm,都未解决问题。

其他(感悟、思考等)

 要尽快解决无法push的问题,找时间再重新配置一下,上次可能未正确配置,导致问题没有解决。

参考资料

-  [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)

-  [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)

posted @ 2020-04-22 20:52  张少旋  阅读(168)  评论(0编辑  收藏