解答 def calculate(expression): # 將輸入的運算式分割成運算元和運算子 num1, operator, num2 = expression.split() # 將運算元轉換為整數類型 num1 = int(num1) num2 = int(num2) # 根據運算子進行對應的運算 if operator == '+': result = num1 + num2 elif operator == '-': result = num1 - num2 elif operator == '*': result = num1 * num2 elif operator == '/': result = num1 // num2 # 使用整數除法,取商數 else: raise ValueError("無效的運算子") return result # 讀取輸入 expression = input().strip() # 計算結果 result = calculate(expression) # 輸出結果 print(result) |
思路 要實現這個功能,我們可以使用 Python 的內建大數支援來處理運算。Python 的整數類型 (`int`) 可以處理任意大的數字,因此可以直接進行計算。以下是實現這一功能的程式碼: ```python def calculate(expression): # 將輸入的運算式分割成運算元和運算子 num1, operator, num2 = expression.split() # 將運算元轉換為整數類型 num1 = int(num1) num2 = int(num2) # 根據運算子進行對應的運算 if operator == '+': result = num1 + num2 elif operator == '-': result = num1 - num2 elif operator == '*': result = num1 * num2 elif operator == '/': result = num1 // num2 # 使用整數除法,取商數 else: raise ValueError("無效的運算子") return result # 讀取輸入 expression = input().strip() # 計算結果 result = calculate(expression) # 輸出結果 print(result) ``` 這段程式碼會讀取一行包含運算式的輸入,並根據運算子進行對應的運算,最後輸出結果。 ### 測試範例 你可以使用以下測試範例來驗證程式的正確性: #### 範例輸入 #1 ``` 2222222222222222222222222 + 1111111111111111111111111 ``` #### 範例輸出 #1 ``` 3333333333333333333333333 ``` #### 範例輸入 #2 ``` 2222222222222222222222222 - 1111111111111111111111111 ``` #### 範例輸出 #2 ``` 1111111111111111111111111 ``` #### 範例輸入 #3 ``` 2222222222222222222222222 * 1111111111111111111111111 ``` #### 範例輸出 #3 ``` 2469135802469135802469135308641975308641975308642 ``` #### 範例輸入 #4 ``` 2222222222222222222222222 / 1111111111111111111111111 ``` #### 範例輸出 #4 ``` 2 ``` 這樣應該可以正確計算並輸出結果。如果還有其他問題或需求,請隨時告訴我! |