Rumah > Artikel > pembangunan bahagian belakang > Program Python untuk mengira operasi aritmetik daripada rentetan
Operasi aritmetik ialah pengiraan matematik yang dilakukan pada jenis data berangka. Berikut ialah operasi aritmetik yang dibenarkan oleh Python.
Tambahan (+)
Tolak (-)
Pendaraban (*)
Bahagian (/)
Bahagian Lantai (//)
Modul (%)
Operasi eksponen (**)
Terdapat beberapa cara untuk melakukan operasi aritmetik daripada rentetan. Mari kita lihat mereka satu persatu.
Dalam Python, fungsi eval() menilai ungkapan yang diluluskan sebagai rentetan dan mengembalikan hasilnya. Kita boleh menggunakan fungsi ini untuk mengira operasi aritmetik dalam rentetan.
Terjemahan bahasa Cina bagiDalam kaedah ini, fungsi eval() menilai ungkapan "2 + 3 * 4 - 6 / 2" dan mengembalikan hasilnya, yang kemudiannya disimpan dalam pembolehubah "hasil".
def compute_operation(expression): result = eval(expression) return result expression = "2 + 3 * 4 - 6 / 2" result = compute_operation(expression) print("The result of the given expression:",result)
The result of the given expression: 11.0
Jika kami ingin mempunyai lebih kawalan ke atas proses penghuraian dan penilaian, kami boleh melaksanakan penghuraian aritmetik dan logik penilaian kami sendiri. Pendekatan ini melibatkan pembahagian ungkapan rentetan kepada operan dan operator individu, menghuraikannya, dan melaksanakan operasi aritmetik dengan sewajarnya.
Terjemahan bahasa Cina bagiDalam contoh ini, ungkapan dibahagikan kepada token individu menggunakan kaedah split(). Token ini kemudiannya dihuraikan dan dinilai satu demi satu berdasarkan operator aritmetik yang dinyatakan dalam kamus operator. Hasilnya dikira dengan menggunakan operator yang sesuai pada hasil terkumpul dan operan semasa.
def compute_operation(expression): operators = {'+': lambda x, y: x + y, '-': lambda x, y: x - y, '*': lambda x, y: x * y, '/': lambda x, y: x / y} tokens = expression.split() result = float(tokens[0]) for i in range(1, len(tokens), 2): operator = tokens[i] operand = float(tokens[i+1]) result = operators[operator](result, operand) return result expression = "2 + 3 * 4 - 6 / 2" result = compute_operation(expression) print("The result of given expression",result)
The result of given expression 7.0
Dalam Python, kami mempunyai modul pengendali, yang menyediakan fungsi yang sepadan dengan pengendali Python terbina dalam. Kita boleh menggunakan fungsi ini untuk melaksanakan operasi aritmetik berdasarkan operator dalam ungkapan rentetan.
Terjemahan bahasa Cina bagiDalam contoh ini, kami mentakrifkan kamus yang memetakan operator kepada fungsi sepadan mereka dalam modul operator. Kami membahagikan ungkapan kepada token di mana pengendali dan operan dipisahkan. Kami kemudian mengulangi token ini, menggunakan fungsi operator yang sepadan dengan hasil dan operan seterusnya.
import operator expression = "2 + 3 * 4" ops = { '+': operator.add, '-': operator.sub, '*': operator.mul, '/': operator.truediv, } tokens = expression.split() result = int(tokens[0]) for i in range(1, len(tokens), 2): operator_func = ops[tokens[i]] operand = int(tokens[i + 1]) result = operator_func(result, operand) print("The arithmetic operation of the given expression:",result)
The arithmetic operation of the given expression: 20
Atas ialah kandungan terperinci Program Python untuk mengira operasi aritmetik daripada rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!