2017年12月23日 星期六

a032: 小小綠的數學習題 (*)

a032: 小小綠的數學習題 (*)
'''
小綠有位就讀國小的妹妹叫小小綠,
每次她有數學題目要計算,就麻煩小綠幫她算。
由於小綠就讀的自由女中課業非常重,每天都有寫不完的作業,
實在沒有時間再幫小小綠去算這些數學題目。
幸好,小小綠她們所學的數學非常簡單,
每個計算只有兩個正整數或0,
而且運算符號只有加(+)、減(-)、乘(*)這三種,
現在想請你幫她寫一個程式,輸入這個算式之後,把答案印出來。

輸入說明:
輸入資料格式為 A?B,其中 A、B 為正整數或 0, ? 為 +、-、* 這三種符號中的一種。
輸出說明:
請輸出這個算式的答案,其結果不會超過 int 的範圍。

範例輸入:
1+2
範例輸出 :
3

'''
X=[]
print("輸入資料格式為 A?B,")
print("其中 A、B 為正整數或 0, ? 為 +、-、*")
X=str(input("範例輸入:1+2 > "))

str1 = "+"
str2 = "-"
str3 = "*"
sign=""

#Index if found and -1 otherwise.
if X.find(str1) != -1 :
   index=X.find(str1)
   sign='+' 
elif X.find(str2) != -1 :
   index=X.find(str2)
   sign='-' 
elif X.find(str3) != -1 :
   index=X.find(str3)
   sign='*' 
else:
   print("錯誤輸入")
   exit
   
num1=""
for i in range(0,index):
    num1=num1+X[i]

num2=""
for i in range(index+1,len(X)):
    num2=num2+X[i]


ans=0
if sign=='+':
   print("結果= ",int(num1) + int(num2))
elif sign=='-':
   print("結果= ",int(num1) - int(num2))
elif sign=='*':
   print("結果= ",int(num1) * int(num2))
else:
   print("錯誤輸入")         




====== ======= RESTART: F:/Python_APSC/a032.py ======================
輸入資料格式為 A?B,
其中 A、B 為正整數或 0, ? 為 +、-、*
範例輸入:1+2 > 12+34
結果=  46
>>> 
====== ===== RESTART: F:/Python_APSC/a032.py ======================
輸入資料格式為 A?B,
其中 A、B 為正整數或 0, ? 為 +、-、*
範例輸入:1+2 > 1234+5678
結果=  6912
>>> 

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...