Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan ungkapan biasa Python untuk penilaian ekspresi Poland terbalik

Cara menggunakan ungkapan biasa Python untuk penilaian ekspresi Poland terbalik

PHPz
PHPzasal
2023-06-23 09:48:141619semak imbas

Apakah ungkapan Poland terbalik?

Ungkapan Poland songsang, juga dikenali sebagai ungkapan postfix, ialah kaedah menyatakan ungkapan aritmetik yang tidak memerlukan tanda kurungan untuk membezakan keutamaan operator. Cirinya ialah operator berada di belakang operan. Contohnya, menukar ungkapan infiks "3 + 4 5" kepada ungkapan Poland terbalik ialah "3 4 5 +".

Apakah ungkapan biasa Python?

Ekspresi biasa Python ialah alat untuk memadankan dan memproses data teks. Ungkapan biasa boleh digunakan untuk mencari corak dalam teks. Python menyediakan modul "semula" untuk menggunakan fungsi ungkapan biasa.

Bagaimana untuk menggunakan ungkapan biasa Python untuk penilaian ungkapan Poland terbalik?

Melaksanakan algoritma penilaian ungkapan Poland terbalik memerlukan langkah berikut:

  1. Tukar ungkapan Poland terbalik ke dalam senarai supaya setiap operator dan operan boleh disemak mengikut tertib; >
  2. Cipta tindanan kosong;
  3. Ulangi senarai terbalik ungkapan Poland, dan untuk setiap elemen lakukan yang berikut:
  4. a ;
    b. Jika ini adalah operator, letakkan dua elemen di bahagian atas tindanan untuk melaksanakan operasi yang sepadan, dan tolak hasilnya ke bahagian atas tindanan; , unsur-unsur di bahagian atas timbunan ialah Hasil penilaian bagi ungkapan Poland terbalik.
  5. Kami boleh menggunakan ungkapan biasa Python untuk melaksanakan fungsi menukar ungkapan Poland terbalik kepada senarai dengan mudah. Kod sampel adalah seperti berikut:
  6. import re
    
    expression = "3 4 5 * +"
    tokens = re.findall("d+|S", expression)
    
    print(tokens) # ['3', '4', '5', '*', '+']
Kemudian, kita boleh mengikuti langkah di atas untuk melaksanakan algoritma penilaian bagi ungkapan Poland terbalik. Kod sampel adalah seperti berikut:

stack = []
for token in tokens:
    if re.match("d+", token):
        stack.append(int(token))
    else:
        operand2 = stack.pop()
        operand1 = stack.pop()
        if token == "+":
            stack.append(operand1 + operand2)
        elif token == "-":
            stack.append(operand1 - operand2)
        elif token == "*":
            stack.append(operand1 * operand2)
        elif token == "/":
            stack.append(int(operand1 / operand2))

result = stack.pop()

print(result) # 23

Kod ini mencipta tindanan kosong, melelang melalui senarai ungkapan Poland terbalik, menyemak setiap operator dan operan, melakukan operasi yang sepadan pada tindanan, dan akhirnya mengembalikan elemen pada bahagian atas timbunan Akibatnya.

Kesimpulan

Menggunakan ungkapan biasa Python, anda boleh menukar ungkapan Poland terbalik ke dalam senarai dengan mudah dan melakukan pengiraan aritmetik pada tindanan. Ungkapan biasa Python sangat berkuasa dan boleh membantu kami mencapai padanan dan pemprosesan teks yang pantas, fleksibel dan boleh dipercayai.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa Python untuk penilaian ekspresi Poland terbalik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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