如 5*3+8/2-7,並計算其結果顯示在螢幕上,我們可以使用 Python 的 eval 函數來實現這個功能。eval 函數可以將字符串當作 Python 表達式來評估執行。但是請注意,使用 eval 函數執行來自用戶的輸入可能會帶來安全風險,因為它可以執行任何Python代碼。在這個例子中,我們將限制輸入僅為算術表達式,並假設它是在受信任的環境下使用。
下面是實現該功能的 Python 程式碼:
def calculate_expression(expression):
# 檢查表達式是否僅包含允許的字符
if not all(char.isdigit() or char in "+-*/" for char in expression.replace(' ', '')):
return "錯誤:表達式包含不允許的字符。"
try:
# 使用 eval 函數計算表達式
result = eval(expression)
return f"結果是:{result}"
except Exception as e:
return f"錯誤:無法計算表達式。原因:{str(e)}"
# 從鍵盤接收輸入
expression = input("請輸入一行算數四則運算之式子(例:5*3+8/2-7):")
# 印出運算結果
print(calculate_expression(expression))
程式功能:
首先檢查用戶輸入的表達式是否僅包含數字和四則運算符號。這是通過檢查每個字符是否為數字或允許的運算符來實現的。
如果輸入有效,使用 eval 函數計算表達式的結果。
如果輸入包含不允許的字符或 eval 函數拋出異常,則返回錯誤信息。
請注意,由於使用了 eval,該程式僅適用於受信任的環境下使用。在處理來自不可靠來源的輸入時,需要採取其他方法來安全地評估表達式。