ความท้าทายเครื่องคิดเลขลงทะเบียน
เครื่องคิดเลขลงทะเบียนง่าย ความท้าทายนี้เกี่ยวข้องกับเครื่องคิดเลขลงทะเบียนง่าย ๆ ที่ทำงานด้วยวิธีต่อไปนี้: มันมีการลงทะเบียนบางส่วนที่ชื่อA,B,C,...,Zแต่ละคนสามารถมีจำนวนเต็มพวกเขาทั้งหมดจะเริ่มต้น0ได้ มันรันคำสั่งของ 3 ตัวอักษร: ตัวละครตัวแรกของคำสั่งใด ๆ เป็นหนึ่งใน+,-,*,/,=(เพิ่มลบหลายหารคัดลอก) ตัวละครที่สองคือชื่อของการลงทะเบียนและตัวอักษรที่สามคือชื่อของการลงทะเบียนหรือหนึ่ง 0,1ของ ความหมายของการสอนควรชัดเจนทีเดียวนี่คือตัวอย่าง: +ABหมายถึง "กำหนดค่าของการลงทะเบียนAเพื่อผลมาจากการA + B" -AB,*AB,/ABและในทำนองเดียวกันสำหรับ การแบ่งA / Bทำในซี +A1หมายถึง "เพิ่มการลงทะเบียนAของ1" และในทำนองเดียวกัน-A1decrements ของA1 =ABหมายถึง "คัดลอกค่าของการBเข้ามาลงทะเบียนAในทำนองเดียวกัน=A0, =A1ชุดAไป0, 1ตามลำดับ มันจะใช้เป็นอินพุตสตริงของคำสั่งที่ต่อเนื่องกันและจะส่งคืนผลลัพธ์ของการดำเนินการครั้งสุดท้ายตัวอย่างบางส่วน: ได้รับก็จะส่งกลับ=A1+A1*AA4 ได้รับก็จะส่งกลับ+A1+A1=BA+A1*AB6 ได้รับก็จะส่งกลับ+A1+A1+A1*AA=BA-B1*AB72 มันง่ายที่จะเขียนเครื่องคิดเลขในภาษาโปรแกรมที่คุณต้องการนี่คือตัวอย่างใน Python: def compute(cmd): opr = {"=": lambda x, y: y, "+": lambda x, y: x …