第二次作业
这次的代码码云地址为:https://gitee.com/M1113/personal_project41678
|
PSP2.1 |
Personal Software ProcessStages |
预估耗时(分钟) |
实际耗时(分钟) |
|
Planning |
计划 |
500 |
530 |
|
Estimate |
估计这个任务需要多少时间 |
550 |
540 |
|
Development |
开发 |
260 |
240 |
|
Analiysis |
需求分析(包括学习新技术) |
40 |
40 |
|
Design Spec |
生成设计文档 |
10 |
20 |
|
Design Review |
设计复审 |
8 |
5 |
|
Coding Standard |
代码规范(为目前的开发制定合适的规范) |
25 |
10 |
|
Design |
具体设计 |
25 |
10 |
|
Coding |
具体编码 |
100 |
150 |
|
Code Review |
代码复审 |
50 |
130 |
|
Test |
测试(自我测试,修改代码,提交修改) |
30 |
20 |
|
Reporting |
报告 |
0 |
0 |
|
Test Repor |
测试报告 |
0 |
0 |
|
Size Measurement |
计算工作量 |
0 |
0 |
|
Postmortem & Process Improvement Plan |
事后总结,并提出过程改进计划 |
60 |
30 |
|
|
合计 |
608 |
655
|
刚拿到题目的时候,感觉有点困难,按照着老师的视频,把Fork 码云 项目 复制到自己的仓库里,去网上查找自己不会的代码,以下是我写的代码。
import re
def convert_list(a,arg):
list1 = []
num = ""
for i in a:
if num.isnumeric() and i.isdigit() :
list1.pop()
num = num + i
elif i == "." :
list1.pop()
num = num +i
elif num[-1:] == "." and i.isdigit():
print(num[-1:])
list1.pop()
num = num+i
else:
num = i
list1.append(num)
for i2 in list1:
arg.append(i2)
if arg[0] == "-":
arg.insert(1,arg[0]+arg[1])
arg.pop(0)
arg.pop(1)
print(arg)
return arg
def zz(a,arg):
# 计算乘除
while True:
if "*" in listlist or "/" in listlist:
quzhi = re.search(
"\-\d+.\d+\*\d+.\d+|\-\d+.\d+\/\d+.\d+|\-\d+\*\d+|\-\d+\/\d+|\d+.\d+\*\d+\.\d+|\d+\.\d+\*\d+|\d+\*\d+\.\d+|\d+\*\d+|\d+.\d+\/\d+\.\d+|\d+\.\d+\/\d+|\d+\/\d+\.\d+|\d+\/\d+",
a).group()
quzhi2 = []
quzhi2 = convert_list(quzhi, quzhi2)
result = float()
if "*" in quzhi2:
num3 = quzhi2.index("*")
list_n = quzhi2[0:num3]
x = "".join(list_n)
list2_n = quzhi2[num3 + 1:]
y = "".join(list2_n)
result = float(x) * float(y)
re1 = listlist.index("*")
else:
result = float(quzhi2[0]) / float(quzhi2[2])
re1 = listlist.index("/")
listlist.pop(re1 - 1)
listlist.pop(re1 - 1)
listlist.pop(re1 - 1)
listlist.insert(re1 - 1, str(result))
a = "".join(listlist)
else:
break
while True:
if "+" in listlist or "-" in listlist:
quzhi = re.search(
"\-\d+.\d+\+\d+.\d+|\-\d+.\d+\-\d+.\d+|\-\d+\+\d+|\-\d+\-\d+|\d+.\d+\+\d+\.\d+|\d+\.\d+\+\d+|\d+\+\d+\.\d+|\d+\+\d+|\d+.\d+\-\d+\.\d+|\d+\.\d+\-\d+|\d+\-\d+\.\d+|\d+\-\d+",a).group()
quzhi2 = []
quzhi2 = convert_list(quzhi, quzhi2)
result = float()
if "+" in quzhi2:
num3 = quzhi2.index("+")
list_n = quzhi2[0:num3]
x = "".join(list_n)
list2_n = quzhi2[num3 + 1:]
y = "".join(list2_n)
result = float(x) + float(y)
re1 = listlist.index("+")
else:
num3 = quzhi2.index("-")
list_n = quzhi2[0:num3]
x = "".join(list_n)
list2_n = quzhi2[num3 + 1:]
y = "".join(list2_n)
result = float(x) - float(y)
re1 = listlist.index("-")
listlist.pop(re1 - 1)
listlist.pop(re1 - 1)
listlist.pop(re1 - 1)
listlist.insert(re1 - 1, str(result))
a = "".join(listlist)
else:
break
return a
if __name__ == "__main__":
# a = "1+10.0*3.0/2-2"
while True:
a = input("please input Calculation formula:<1+3*2-1>:")
print(a)
listlist = []
convert_list(a,listlist)
print(listlist)
a = ccjj(a,listlist)
print("=================\n计算结果为:", a)
做这项作业感觉有点困难,上网搜索了一定的知识,有的不会问了同学,但是还要努力去学习有关Python的代码,这次做的有一点小问题,希望下次我可以把问题解决,给自己加油。

浙公网安备 33010602011771号