Hướng dẫn does python do multiplication first? - python có làm phép nhân trước không?

PEMDASP, E, MD, AS; Sự nhân và phân chia có cùng mức độ ưu tiên, và tương tự cho việc bổ sung và trừ. Khi một nhà điều hành phân chia xuất hiện trước khi nhân, bộ phận đi trước.

Các toán tử python thứ tự được thực thi trong được điều chỉnh bởi sự ưu tiên của nhà điều hành và tuân theo các quy tắc tương tự. Các nhà khai thác có mức độ ưu tiên cao hơn được thực hiện trước những người có ưu tiên thấp hơn, nhưng các nhà khai thác có ưu tiên phù hợp khi họ ở trong cùng một nhóm.

Đối với 10-7//2*3+1, bạn có 2 lớp toán tử, từ thấp nhất đến Higest:

  • >>>( ( ( 13 + 5 ) * 2 ) - 4 )
    0 (tương quan với AS == Bổ sung và trừ)
  • >>>( ( ( 13 + 5 ) * 2 ) - 4 )
    2 (tương quan với MD, vì vậy nhân và chia).

Vì vậy,

>>>( ( ( 13 + 5 ) * 2 ) - 4 )
4 và
>>>( ( ( 13 + 5 ) * 2 ) - 4 )
5 được thực hiện trước; Sự nhân và phân chia rơi trong cùng một nhóm, không phải là một thứ tự đã đặt ở đây (MD không có nghĩa là phép nhân xuất hiện trước khi chia):

10 - ((7 // 2) * 3) + 1

Vì vậy,

>>>( ( ( 13 + 5 ) * 2 ) - 4 )
7 được thực thi trước, theo sau là phép nhân bằng 3. Sau đó, bạn nhận được phép trừ từ mười và thêm một ở cuối.


Chúng tôi đã đưa ra một vấn đề không ảnh hưởng đến trường hợp cụ thể của bạn, nhưng rất quan trọng để viết các chương trình Python thực sự. PEMDA không thực sự về thứ tự hoạt động; Nó không quyết định những thứ đặt hàng được đánh giá. Đó thực sự là về nhóm đối số. PEMDA nói rằng

>>>( ( ( 13 + 5 ) * 2 ) - 4 )
8 được đánh giá là
>>>( ( ( 13 + 5 ) * 2 ) - 4 )
9, nhưng nó không cho biết liệu
>>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
0 hay
>>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
1 được đánh giá trước.

Trong toán học, không quan trọng những gì bạn đánh giá trước, miễn là bạn tôn trọng nhóm đối số. Trong Python, nếu bạn đã đánh giá

>>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
2 và
>>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
3 đầu tiên trong
>>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
4 chỉ vì chúng ở ngoặc đơn, bạn có thể nhận được một kết quả hoàn toàn khác, bởi vì các chức năng Python có thể có tác dụng phụ.

Đánh giá biểu hiện Python chủ yếu hoạt động từ trái sang phải. Ví dụ, trong

>>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
5, thứ tự đánh giá diễn ra như sau:

  • >>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
    6
  • >>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
    2
  • >>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
    8 đầu tiên, bây giờ các đối số của nó đã sẵn sàng
  • >>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
    3
  • >>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2) - 13
    0
  • >>>( ( ( 13 + 5 ) * 2 ) - 4 )
    5, bây giờ các đối số của nó đã sẵn sàng
  • >>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)
    8 thứ hai, bây giờ các đối số của nó đã sẵn sàng

Điều này mặc dù có mức độ ưu tiên cao của

>>>( ( ( 13 + 5 ) * 2 ) - 4 )
5 và dấu ngoặc đơn xung quanh phép nhân.

0 điểm

hơn 9 năm

Một số nhà khai thác có ưu tiên cao hơn những người khác; Ví dụ, toán tử nhân có mức độ ưu tiên cao hơn toán tử bổ sung, do đó, nhân lên trước khi thêm.

Trong một biểu thức, các toán tử ưu tiên cao hơn sẽ được đánh giá trước.

Nhà điều hành -so với mô tả

  1. ** Số mũ (nâng lên sức mạnh)
  2. ~ + - ccomplement, unary plus và minus (tên phương thức cho hai người cuối cùng là [email & nbsp; được bảo vệ] và [email & nbsp; được bảo vệ])
  3. / % // nhân, chia, modulo và phân chia sàn
    • Cộng và trừ
  4. << Right and left bitwise shift

  5. & Bitwise ‘và"
  6. ^ | BitWise độc ​​quyền
    >>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2) - 13
    4or
  7. = Các toán tử so sánh
  8. ==! = Các toán tử bình đẳng
  9. = %= /= / / / /= -= += = *= Trình điều khiển gán
  10. IS không phải là toán tử nhận dạng
  11. trong các nhà khai thác thành viên
  12. không hoặc các toán tử logic

Tôi đã nhận được điều này từ một trang web tôi sử dụng khi các bài học của Codecademy còn thiếu hướng dẫn: Python lập trình hướng dẫn

Trả lời 52385270548C356A220011A3

Bạn quên mất lúc 3 tuổi, nhưng rất hữu ích cho những người như tôi không có tiếng Anh như ngôn ngữ bản địa, cảm ơn

điểm

Hướng dẫn does python do multiplication first? - python có làm phép nhân trước không?

Khoảng 9 năm

Nhà điều hành ưu tiên xác định thứ tự trong đó các hoạt động được xử lý. Trong hướng dẫn này, bạn sẽ thực hiện một thủ thuật toán học bằng cách sử dụng dấu ngoặc đơn để kiểm soát trình độ vận hành Python. Nếu bạn chỉ tham gia với chúng tôi, bạn có thể muốn bắt đầu với bài viết trước của chúng tôi, các nhà khai thác Python là toán học!

Nhà điều hành Python ưu tiên

Bây giờ chúng tôi trở lại câu chuyện tiếp tục tại Bệnh viện Robot Universal Rossum. Bản ngã bùng lên như Tiến sĩ. Thêm vào đó, trừ, chém, dấu hoa thị và sức mạnh tranh luận, người có thẩm quyền nhất. Một kháng cáo được thực hiện cho chủ tịch bệnh viện, ngoặc đơn. Giống như bất kỳ bệnh viện robot tốt, có một hệ thống phân cấp giữa các hoạt động.

Xem những gì xảy ra khi chúng ta chạy một biểu thức liên quan đến các nhà khai thác hỗn hợp:

Bạn có thể mong đợi điều đó bằng 9. Nhưng trình thông dịch Python không đọc, hoặc xử lý, các nhà khai thác từ trái sang phải, giống như chúng ta. Thay vào đó, thông dịch viên Python xếp hạng các nhà khai thác theo tầm quan trọng và xử lý chúng theo một chuỗi cụ thể. Đây được gọi là thứ tự hoạt động hoặc, tùy thuộc vào người bạn đang nói chuyện, được ưu tiên của nhà điều hành. Trong ví dụ trên, phép nhân có mức độ ưu tiên cao hơn so với bổ sung, do đó, 2 * 3 được xử lý trước, sau đó được thêm vào 1. Sử dụng dấu ngoặc đơn, chúng tôi có thể buộc các toán tử ưu tiên thấp hơn để chạy trước:

Hãy cùng xem PEMDAs. Không, Pemdas là một dòng chữ trên biểu đồ mắt. Nó có một từ viết tắt để giúp bạn nhớ những toán tử toán học nào đi trước những người khác. Chữ viết tắt là viết tắt của phép trừ chia phép nhân số đặc trưng cho dấu ngoặc đơn. Bạn có thể nhớ nó với “Xin vui lòng xin lỗi dì thân yêu của tôi. Nhớ Susie? Cô ấy đã có một tàu kéo…

Biểu đồ sau đây phác thảo nhà khai thác ưu tiên:

Ưu tiên cao nhấtChủ tịch()Dấu ngoặc đơn
Tiến sĩ Powers**Số mũ
Tiến sĩ Asterisk*Phép nhân
Tiến sĩ Slash/Phân công
Tiến sĩ Plus+Phép cộng
Ưu tiên thấp nhấtTiến sĩ trừ-Phép trừ

Trong phép ẩn dụ của bệnh viện robot, chủ tịch ngoặc đơn có quyền lực nhất, tiếp theo là Tiến sĩ Powers, Tiến sĩ Asterisk, Tiến sĩ Slash, Tiến sĩ Bổ sung, và cuối cùng, Tiến sĩ Minus. Như bạn có thể thấy, nó trả tiền để suy nghĩ lớn. Điểm dừng xác định thứ tự hoạt động. Bất kỳ hoạt động nào có trong ngoặc đơn được thực hiện trước. Nhưng nó trở nên tốt hơn. Bạn có thể sử dụng dấu ngoặc đơn cho các hoạt động của tổ trong các hoạt động, giống như một con búp bê Matryoshka được làm bằng trăn.

Dấu ngoặc đơn là toán học!

Chúng ta hãy nhìn vào thủ thuật ảo thuật của chúng ta một lần nữa, lần này bằng cách sử dụng quy tắc ưu tiên với dấu ngoặc đơn và phép thuật của Python. Chỉ để chứng minh rằng nó hoạt động với bất kỳ số nào, tôi sẽ sử dụng số nguyên không may mắn 13. Bạn có thể sử dụng bất kỳ số lượng tích cực nào bạn muốn. Bắt đầu xây dựng tuyên bố của bạn trên dấu nhắc Python của bạn, nhưng don không thể trả lại cho đến khi tôi nói như vậy.

Bước đầu tiên của thủ thuật ảo thuật của chúng tôi là thêm 5. Chúng tôi muốn điều đó xảy ra trước tiên, vì vậy hãy bọc nó trong ngoặc đơn, như thế này:

Tiếp theo, chúng tôi nhân kết quả đó bằng 2. Bọc câu lệnh đầu tiên của chúng tôi trong một bộ dấu ngoặc đơn khác với *2 được nhét bên trong:

Bây giờ chúng ta cần trừ 4. Gói rằng trong một tập hợp ngoặc đơn khác chứa biểu thức ‘-4,::

>>>( ( ( 13 + 5 ) * 2 ) - 4 )

Bộ dấu ngoặc đơn cuối cùng của chúng tôi cần chia kết quả hiện tại cho 2.

>>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2)

Cuối cùng, chúng tôi trừ đi số ban đầu của chúng tôi. Nó không cần thiết phải bọc nó trong ngoặc đơn vì nó sẽ là hoạt động cuối cùng được thực hiện:

>>>( ( ( ( 13 + 5 ) * 2 ) - 4 ) / 2) - 13

Nhấn trở lại.

Abracadabra!

Tôi đã nói gì với bạn? Số ba. Nó là một con số ma thuật. Đối với thủ thuật tiếp theo của chúng tôi, bài tập biến đổi!

Liệu nhân có thể đến trước khi bổ sung trong Python?

Một số nhà khai thác có ưu tiên cao hơn những người khác; Ví dụ, toán tử nhân có mức độ ưu tiên cao hơn toán tử bổ sung, do đó, nhân lên trước khi thêm. Trong một biểu thức, các toán tử ưu tiên cao hơn sẽ được đánh giá trước.the multiplication operator has higher precedence than the addition operator, so do multiplication before addition. Within an expression, higher precedence operators will be evaluated first.

Liệu Python Math có tuân theo thứ tự của các hoạt động không?

Python tuân theo các quy tắc ưu tiên tương tự cho các nhà khai thác toán học mà toán học làm.Dấu ngoặc đơn có mức độ ưu tiên cao nhất và có thể được sử dụng để buộc một biểu thức để đánh giá theo thứ tự bạn muốn.Vì các biểu thức trong ngoặc đơn được đánh giá trước tiên, 2*(3-1) là 4 và (1+1) ** (5-2) là 8.. Parentheses have the highest precedence and can be used to force an expression to evaluate in the order you want. Since expressions in parentheses are evaluated first, 2 * (3-1) is 4, and (1+1)**(5-2) is 8.

Python có sử dụng pemdas hay bodmas không?

Python tuân theo các quy tắc toán học truyền thống về quyền ưu tiên, trong đó tuyên bố rằng phép nhân và phân chia được thực hiện trước khi thêm và trừ.(Bạn có thể nhớ Bodmas.)multiplication and division are done before addition and subtraction. (You may remember BODMAS.)

Lệnh ưu tiên chính xác trong Python là gì?

2. Thứ tự chính xác của ưu tiên là gì?Trả lời: Thứ tự chính xác của ưu tiên được đưa ra bởi PEMDA có nghĩa là dấu ngoặc đơn (), theo cấp số nhân **, phép nhân *, chia /, bổ sung +, trừ -.Parenthesis (), Exponential **, Multiplication *, Division /, Addition +, Subtraction -.