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

Program Python untuk mengira operasi aritmetik daripada rentetan

王林
Lepaskan: 2023-08-19 13:21:19
ke hadapan
2047 orang telah melayarinya

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)
Salin selepas log masuk

Output

The result of the given expression: 11.0
Salin selepas log masuk

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)
Salin selepas log masuk

Output

The result of given expression 7.0
Salin selepas log masuk

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)
Salin selepas log masuk

Output

The arithmetic operation of the given expression: 20
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan