Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program Python untuk mengira operasi aritmetik daripada rentetan

Program Python untuk mengira operasi aritmetik daripada rentetan

王林
王林ke hadapan
2023-08-19 13:21:191967semak imbas

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.

Gunakan fungsi eval()

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 bagi

Contoh

ialah:

Contoh

Dalam 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)

Output

The result of the given expression: 11.0

Melaksanakan penghuraian dan penilaian aritmetik

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 bagi

Contoh

ialah:

Contoh

Dalam 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)

Output

The result of given expression 7.0

Gunakan modul operator

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 bagi

Contoh

ialah:

Contoh

Dalam 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)

Output

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam