1 Star 0 Fork 0

李新锐/untitled1000

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
实验二.py 5.26 KB
一键复制 编辑 原始数据 按行查看 历史
李新锐 提交于 2020-04-11 19:58 +08:00 . 20184302 李新锐实验二代码
def fun1(num1, num2):
if num1 < num2:
num1, num2 = num2, num1
vari1 = num1 * num2
vari2 = num1 % num2
while vari2 != 0:
num1 = num2
num2 = vari2
vari2 = num1 % num2
vari1 /= num2
return vari1
def fun2(num1, num2):
temp=num1%num2
while temp != 0:
num1=num2
num2=temp
temp=num1%num2
return num2
print("欢迎使用计算机!")
while 1 :
choose=input("请选择您想要进行的是1.纯整数运算还是2.浮点数运算还是3.分数运算")
if choose == "1" :
a=int(input("请输入您想计算的第一个数:"))
b=input("请输入您想进行的运算:")
c=int(input("请输入您想计算的第二个数:"))
if choose == "2":
a = float(input("请输入您想计算的第一个数:"))
b = input("请输入您想进行的运算:")
c = float(input("请输入您想计算的第二个数:"))
if choose == "3":
a = input("请输入您想计算的第一个数:")
b = input("请输入您想进行的运算:")
c = input("请输入您想计算的第二个数:")
if b == "+" :
if choose == "3":
where=int(a.index("/"))
a1=int(a[0:where])
a2=int(a[where+1:])
where1 = c.index("/")
c1 = int(c[0:where1])
c2 = int(c[where1+1:])
if c2 == a2 :
sim = fun2(a1 + c1, a2)
if sim != 0:
print("您的运算结果为:" + str((a1+c1)/sim)+"/"+str(a2/sim))
else :
print("您的运算结果为:" + str((a1 + c1)) + "/" + str(a2 ))
else :
sim=fun1(a2,c2)
new=a1*sim/a2+c1*sim/c2
sym=fun2(new,sim)
if sym != 0 :
print("您的运算结果为:" + str(new / sym) + "/" + str(sim / sym))
else :
print("您的运算结果为:" + str(new) + "/" + str(sim))
else :
d=a+c
print("您的运算结果为:")
print(round(d, 10))
if b == "-" :
if choose == "3":
where=int(a.index("/"))
a1=int(a[0:where])
a2=int(a[where+1:])
where1 = c.index("/")
c1 = int(c[0:where1])
c2 = int(c[where1+1:])
if c2 == a2 :
sim = fun2(a1 - c1, a2)
if sim != 0:
print("您的运算结果为:" + str((a1-c1)/sim)+"/"+str(a2/sim))
else :
print("您的运算结果为:" + str((a1 - c1)) + "/" + str(a2 ))
else :
sim=fun1(a2,c2)
new=a1*sim/a2-c1*sim/c2
sym=fun2(new,sim)
if sym != 0 :
print("您的运算结果为:" + str(new / sym) + "/" + str(sim / sym))
else :
print("您的运算结果为:" + str(new) + "/" + str(sim))
else:
d=a-c
print("您的运算结果为:")
print(round(d,10))
if b == "*" :
if choose == "3":
where=int(a.index("/"))
a1=int(a[0:where])
a2=int(a[where+1:])
where1 = c.index("/")
c1 = int(c[0:where1])
c2 = int(c[where1+1:])
one=a1*c1
two=a2*c2
sim=fun2(one,two)
if sim != 0:
print("您的运算结果为:" + str(one / sim) + "/" + str(two/ sim))
else:
print("您的运算结果为:" + str(one) + "/" + str(two))
else :
d=a*c
print("您的运算结果为:")
print(round(d, 10))
if b == "/" :
if c == 0 :
print("您输入的除数为0,请重新输入")
continue
else :
if choose == "3":
where = int(a.index("/"))
a1 = int(a[0:where])
a2 = int(a[where + 1:])
where1 = c.index("/")
c1 = int(c[0:where1])
c2 = int(c[where1 + 1:])
one = a1 * c2
two = a2 * c1
sim = fun2(one, two)
if sim != 0:
print("您的运算结果为:" + str(one / sim) + "/" + str(two / sim))
else:
print("您的运算结果为:" + str(one) + "/" + str(two))
else:
d=a/c
print("您的运算结果为:")
print(round(d, 10))
if b == "mod" :
if choose == "2" :
print("浮点数不能进行mod运算")
continue
if choose == "3" :
print("分数不能进行mod运算")
continue
d=a%c
print("您的运算结果为:"+str(d))
if b == "^" :
if a == 0 :
print("您输入的底数为0,请重新输入")
continue
if choose == "3" :
print("分数暂不支持指数运算")
continue
else :
d=a**c
print("您的运算结果为:")
print(round(d, 10))
ok=input("您是否想继续运算?")
if ok == "是" :
continue
else :
break
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/li_xin_rui666/untitled1000.git
git@gitee.com:li_xin_rui666/untitled1000.git
li_xin_rui666
untitled1000
untitled1000
master

搜索帮助