สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราก็มีอีกสตริงหนึ่งที่แสดงตัวดำเนินการเช่น "+", "-", "/" หรือ "*" และให้ค่าอีกค่าหนึ่งด้วย เราต้องดำเนินการกับทุกๆ ตัวเลขเป็นค่า val และส่งคืนผลลัพธ์
ดังนั้นหากอินพุตเป็น [5,3,8] เอาต์พุตจะเป็น [15, 9, 24]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- res:=รายการใหม่
- สำหรับแต่ละ i ใน nums ทำ
- ถ้า op เหมือนกับ '+' แล้ว
- ใส่ i+val ที่ส่วนท้ายของ res
- มิฉะนั้นเมื่อ op เหมือนกับ '-' แล้ว
- ใส่ i-val ที่ส่วนท้ายของ res
- มิฉะนั้นเมื่อ op เหมือนกับ '*' แล้ว
- ใส่ i*val ที่ส่วนท้ายของ res
- มิฉะนั้น เมื่อ val ไม่เป็นศูนย์ แล้ว
- แทรกผลหารของ i/val ที่ส่วนท้ายของความละเอียด
- ถ้า op เหมือนกับ '+' แล้ว
- ผลตอบแทน
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, nums, op, val): res=[] for i in nums: if op=='+': res.append(i+val) elif op=='-': res.append(i-val) elif op=='*': res.append(i*val) elif val: res.append(i//val) return res ob = Solution() nums = [5,3,8] print(ob.solve(nums, '*', 3))
อินพุต
[5,3,8]
ผลลัพธ์
[15, 9, 24]