ฉันกำลังเขียนโค้ดเพื่อแยกสตริงการแสดงออกทางคณิตศาสตร์และสังเกตว่าลำดับที่ตัวดำเนินการพลังงานถูกล่ามโซ่ถูกประเมินใน Python แตกต่างจากลำดับใน Excel
จากhttp://docs.python.org/reference/expressions.html :
"ดังนั้นในลำดับพลังงานและตัวดำเนินการ unaryhesized ตัวดำเนินการจะถูกประเมินจากขวาไปซ้าย (สิ่งนี้ไม่ได้ จำกัด ลำดับการประเมินสำหรับตัวถูกดำเนินการ): -1 * 2 ผลลัพธ์เป็น -1" *
ซึ่งหมายความว่าใน Python:
2**2**3
ถูกประเมินเป็น2**(2**3) = 2**8 = 256
ใน Excel มันทำงานในลักษณะอื่น ๆ : 2^2^3
ถูกประเมินเป็น(2^2)^3 = 4^3 = 64
ตอนนี้ฉันต้องเลือกการดำเนินการสำหรับตัวแยกวิเคราะห์ของฉันเอง คำสั่งซื้อของ Excel นั้นง่ายต่อการติดตั้งเพราะมันจะสะท้อนลำดับการประเมินผลของการคูณ
ฉันถามผู้คนรอบ ๆ สำนักงานว่าพวกเขารู้สึกอย่างไรกับการประเมิน2^2^3
และได้รับคำตอบที่หลากหลาย
มีใครรู้บ้างเกี่ยวกับเหตุผลที่ดีหรือข้อเสนอแนะที่เป็นประโยชน์ต่อการใช้งาน Python หรือไม่? และถ้าคุณไม่มีคำตอบโปรดแสดงความคิดเห็นกับผลลัพธ์ที่คุณได้รับจากความรู้สึกลำไส้ - 64
หรือ256
?