用户:
\相逢何必曾相识/查看:0 回复:0 评论:0 创建时间:2020-02-23T15:16:02
import time
import math
print('欢迎来到万能运算,本运算暂只支持加减乘除、根号和无括号的综合运算\n')
print('---------------分割线---------------\n')
time.sleep(0.5)
class Sqrt:
def __init__(self,d,s,q=0):
a=d
if s==1:
print('\n',a,'的平方根是',math.sqrt(d),'\n')
elif s==2:
for i in range(2):
d=math.sqrt(d)
print('\n',a,'的立方根是',d,'\n')
else:
for i in range(q):
if i>=1:
d=math.sqrt(d)
print('\n',a,'的',q,'次根号是',d,'\n')
class More:
def __init__(self,userl,number,string):
print('运算结果:',end=' ')
for i in userl:
print(i,end=' ')
for c in number:
if string[0]=='+':
if string[1]!='*' and string[1]!='/':
number[0]=number[0]+number[1]
del number[1]
del string[0]
else:
if string[1]=='*':
number[1]=number[1]*number[2]
del number[2]
del string[1]
elif string[1]=='/':
number[1]=number[1]/number[2]
del number[2]
del string[1]
elif string[0]=='-':
if string[1]!='*' and string[1]!='/':
number[0]=number[0]-number[1]
del number[1]
del string[0]
else:
if string[1]=='*':
number[1]=number[1]*number[2]
del number[2]
del string[1]
elif string[1]=='/':
number[1]=number[1]/number[2]
del number[2]
del string[1]
elif string[0]=='*':
number[0]=number[0]*number[1]
del number[1]
del string[0]
elif string[0]=='/':
number[0]=number[0]/number[1]
del number[1]
del string[0]
print(str(number[0]),'\n')
class Computer:
def ask(self):
while True:
a = input('请输入您想进行的运算:1.加法;2.减法;3.乘法;4.除法;5.根号运算;6.综合运算;7.退出本系统:')
try:
if int(a)==1:
user.plus()
elif int(a)==2:
user.minus()
elif int(a)==3:
user.asterisk()
elif int(a)==4:
user.slash()
elif int(a)==5:
user.sqrt()
elif int(a)==6:
user.more()
elif int(a)==7:
print('感谢您的使用!')
break
else:
print('\n请输入有效数字!\n')
except ValueError:
print('\n请输入有效数字!\n')
def plus(self):
plus = []
plus_anwser= 0
plus_question = int(input('\n请问有几个加数:'))
for i in range(plus_question):
plus_number = float(input('请输入第' + str(i + 1) + '个加数:'))
plus.append(plus_number)
for j in plus:
plus_anwser = (plus_anwser + j)
print('\n电脑神速地算完了!答案是:{}!\t\n'.format(plus_anwser))
def minus(self):
minus= []
minus_anwser= 0
minus_num=int(input('\n请问被减数是多少:'))
minus_question = int(input('\n请问有几个减数:'))
for i in range(minus_question):
minus_number = float(input('请输入第' + str(i + 1) + '个减数:'))
minus.append(minus_number)
for j in minus:
minus_num = (minus_num - j)
minus_anwser=minus_num
print('\n电脑神速地算完了!答案是:{}!\t\n'.format(minus_anwser))
def asterisk(self):
asterisk = []
asterisk_question = int(input('\n请问有几个因数:'))
for i in range(asterisk_question):
asterisk_number = float(input('请输入第' + str(i + 1)+ '个因数:'))
asterisk.append(asterisk_number)
asterisk_anwser=asterisk[0]
for j in asterisk:
asterisk_anwser=asterisk_anwser*j
print('\n电脑神速地算完了!答案是:{}!\t\n'.format(asterisk_anwser/asterisk[0]))
asterisk_time=0
def slash(self):
slash= []
slash_anwser= 0
slash_num=int(input('\n请问被除数是多少:'))
slash_question = int(input('\n请问有几个除数:'))
for i in range(slash_question):
slash_number = float(input('请输入第' + str(i + 1) + '个除数:'))
slash.append(slash_number)
for j in slash:
slash_num = (slash_num / j)
slash_anwser=slash_num
print('\n电脑神速地算完了!答案是:{}!\t\n'.format(slash_anwser))
def sqrt(self):
s=int(input('请输入您想进行的运算:1.平方根;2.立方根;3.自定义根号:'))
d=int(input('请输入数字:'))
if s==3:
q=int(input('请输入次幂:'))
qrt=Sqrt(d,s,q)
elif s==2:
qrt=Sqrt(d,s)
elif s==1:
qrt=Sqrt(d,s)
def more(self):
morl=[]
Number=[]
String=[]
number=0
string=''
n=0
while string!='=':
n+=1
number=float(input('请输入第{}个数字(必须是数字,不能有符号!):'.format(n)))
string=input('请输入第{}个符号(必须是符号,不能有数字!*号代表乘法,/号代表除法):'.format(n))
Number.append(number)
String.append(string)
morl.append(number)
morl.append(string)
m=More(morl,Number,String)
user=Computer()
user.ask()
对了,我没缩进,想复制的自己记得缩