b538: 分數運算-2
每組測資有多列以EOF結束,每列四個整數 -9999 <=a,b,c,d <=9999 一個字元{ + - * / }以空白隔開
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。{b,d不為0,若為除法運算則c亦不為0}
對輸入的每一列,輸出1個 分數的運算結果且為最簡分數 p/q ,若 p被q整除,則只顯示一個整除後的整數。
>>> %Run -c $EDITOR_CONTENT
-------b538: 分數運算-2-------
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。
輸入四個整數 暨 一個字元{ + - * / } : -1 2 4 -3 +
list: ['-1', '2', '4', '-3', '+']
-1/2 + -4/3 = -11/6
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。
輸入四個整數 暨 一個字元{ + - * / } : 1 1 1 1 -
list: ['1', '1', '1', '1', '-']
1 - 1 = 0
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。
輸入四個整數 暨 一個字元{ + - * / } : 1 1 1 2 +
list: ['1', '1', '1', '2', '+']
1 + 1/2 = 3/2
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。
輸入四個整數 暨 一個字元{ + - * / } : 2 3 1 2 *
from fractions import Fraction
nums=[]
#---------------------------------------------
print('-------b538: 分數運算-2-------')
while True:
try:
print ('代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。')
input_string = input('輸入四個整數 暨 一個字元{ + - * / } : ')
print("\n")
user_list = input_string.split()
# print list
print('list: ', user_list)
for i in range(len(user_list)-1):
# convert each item to int type
user_list[i] = int(user_list[i])
a=Fraction(user_list[0] , user_list[1])
b=Fraction(user_list[2] , user_list[3])
if (user_list[4]=='+'):
res = a+b
print (a,'+',b,'=',res)
elif (user_list[4]=='-'):
res = a-b
print (a,'-',b,'=',res)
elif (user_list[4]=='*'):
res = a*b
print (a,'*',b,'=',res)
else : #(user_list[4]=='/'):
res = a/b
print (a,'/',b,'=',res)
except:
break
>>> %Run -c $EDITOR_CONTENT
-------b538: 分數運算-2-------
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。
輸入四個整數 暨 一個字元{ + - * / } : -1 2 4 -3 +
list: ['-1', '2', '4', '-3', '+']
-1/2 + -4/3 = -11/6
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。
輸入四個整數 暨 一個字元{ + - * / } : 1 1 1 1 -
list: ['1', '1', '1', '1', '-']
1 - 1 = 0
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。
輸入四個整數 暨 一個字元{ + - * / } : 1 1 1 2 +
list: ['1', '1', '1', '2', '+']
1 + 1/2 = 3/2
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。
輸入四個整數 暨 一個字元{ + - * / } : 2 3 1 2 *
list: ['2', '3', '1', '2', '*']
2/3 * 1/2 = 1/3
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。
輸入四個整數 暨 一個字元{ + - * / } : 2 3 2 3 /
list: ['2', '3', '2', '3', '/']
2/3 / 2/3 = 1
代表兩個分數 a/b @ c/d ,其中@為加減乘除之一。
輸入四個整數 暨 一個字元{ + - * / } :
list: []
>>>
沒有留言:
張貼留言