Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Python] Đánh giá biểu thức prefix lồng (class pattern)

    Cho một dòng mô tả biểu thức prefix lồng (Lisp-like) gồm số nguyên và 4 phép +, -, , /, ví dụ: (+ 1 2) ( (+ 1 2) (- 5 3)) Parse biểu thức thành cây dưới dạng tuple lồng nhau (op, left, right) với op là chuỗi và các con là tuple hoặc int. Sau đó định nghĩa hàm đệ quy evaluate(node) dùng match-case với:

    • case int(): trả về chính nó.
    • case ('+'|'-'|'*'|'/', l, r): tính kết quả phù hợp. Phép / là chia nguyên (//), nếu mẫu == 0 in 'DIV_BY_ZERO' và dừng. In kết quả nguyên cuối cùng. Yêu cầu: PHẢI dùng match-case với OR pattern cho 4 phép.
    • Định dạng đầu vào:

      Một dòng biểu thức.

    • Ràng buộc đầu vào:

      Biểu thức hợp lệ, số nguyên trong [-10^9, 10^9], độ sâu <= 20.

    • Định dạng đầu ra:

      Kết quả nguyên hoặc DIV_BY_ZERO.

    Ví dụ:

    Đầu vào:

    (+ 1 2)
    

    Đầu ra:

    3

    Giải thích:

    1 + 2 = 3.

    Đang tải editor...