版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
一. 代码
dic1 = {}
dic2 = {}
def __input():
tag = 1
while True:
var = input("选择一种命令:")
if var == '?':
print("请输入系数和指数,当指数和系数都不为0时继续,任一为0时结束输入")
while True:
xs = input("请输入系数:")
zh = input("请输入指数:")
if int(xs)==0 or int(zh) ==0:
if tag == 1:
i=0
for k in dic1:
i += 1
if dic1[k] > 0 and i == 1:
print('%sx^%s' % (dic1[k], k), end=' ')
elif dic1[k] < 0:
print('%sx^%s' % (dic1[k], k), end=' ')
else:
print('+' + '%sx^%s' % (dic1[k], k), end=' ')
print('\n')
else:
i = 0
for k in dic2:
i += 1
if dic2[k] > 0 and i==1:
print('%sx^%s' % (dic2[k], k), end=' ')
elif dic2[k] < 0:
print('%sx^%s' % (dic2[k], k), end=' ')
else:
print('+'+'%sx^%s' % (dic2[k], k), end=' ')
print('\n')
tag = -tag
break
if tag == 1:
dic1[int(zh)] = int(xs)
else:
dic2[int(zh)] = int(xs)
if var == '+':
for k in dic2:
if k in dic1:
dic1[k]+=dic2[k]
else:
dic1[k] = dic2[k]
resul(dic1)
if var == '-':
for k in dic2:
if k in dic1:
dic1[k] -= dic2[k]
else:
dic1[k] = -dic2[k]
resul(dic1)
if var == '*':
dic = {}
for k1 in dic1:
for k2 in dic2:
if(k1 + k2 not in dic) and (k1+k2 not in dic):
dic[k1 + k2] = dic1[k1] * dic2[k2]
else:
dic[k1 + k2] += dic1[k1] * dic2[k2]
resul(dic)
def resul(dic):
i = 0
for k in dic:
i+=1
if dic[k] > 0 and i == 1:
print('%sx^%s' % (dic[k], k), end=' ')
elif dic[k] < 0:
print('%sx^%s' % (dic[k], k), end=' ')
else:
print('+' + '%sx^%s' % (dic[k], k), end=' ')
print('\n')
dic1 = {}
dic2 = {}
if __name__ == '__main__':
print("请输入一个合适的命令,命令如下:")
print("?:提示")
print("+:相加")
print("-:相减")
print("*:相乘")
__input()