當前代碼的影像
目前,如果我通過列印“ans”進行測驗,它只會將其列印為像“ ”這樣的字符,這不適用于“ans”的等式,我該如何更改它以添加? 'ans' 列印成什么
我對編碼很陌生,所以這似乎是一個顯而易見的問題——抱歉!
uj5u.com熱心網友回復:
您的情況的正確答案可能是使用分支 if else
ans = (5,' ',6)
if ans[1] == ' ':
print(ans[0] ans[2])
elif ans[1] == "/":
print(ans[0] / ans[2])
# etc.
你可能會逃脫 ast.literal_eval
import ast
ans = (6,'-',2)
eqn = f"{ans[0]} {ans[1]} {ans[2]}"
print("EQN:",eqn,"=",ast.literal_eval(eqn))
然而,最正確的答案可能是使用字典映射來故意公開特定的程式員定義的運算子
import operator
# the function to call for a given operator
operators = {" ":operator.add,
'-':operator.sub}
ans = (6,'-',2)
operators[ans[1]](ans[0],ans[2])
uj5u.com熱心網友回復:
將 ans 的定義更改為:
ans = eval(str(n1) ops str(n2))
這使得一串運算元和運算子拼接在一起。然后在 python 中呼叫 eval() 函式,該函式評估由字串表示的算術運算。
uj5u.com熱心網友回復:
你可以這樣做:
def sum(num1,num2):
print(int(num1) int(num2))
operations = {" ":sum}
operator = input("Enter :").split()
operations.get(operator[1])(operator[0],operator[2])
有很多方法可以做到這一點或解決您的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/512743.html
標籤:Python数学随机的
