Positional arguments แบบจำนวนไม่คงที่
มาฝึกใช้ positional arguments แบบจำนวนไม่คงที่กัน โดยให้นิยามฟังก์ชัน sort_types() ที่รับ positional arguments จำนวนเท่าใดก็ได้ แล้วตรวจสอบว่าแต่ละ argument เป็นตัวเลขหรือสตริง จากนั้นนำรายการที่ตรวจสอบแล้วไปใส่ในลิสต์ nums หรือ strings ตามลำดับ และในท้ายที่สุดฟังก์ชันจะ return tuple ที่ประกอบด้วยลิสต์ทั้งสอง
ใช้ฟังก์ชัน built-in isinstance() ของ Python เพื่อตรวจสอบว่าออบเจ็กต์เป็นชนิดที่กำหนดหรือไม่ (เช่น isinstance(1, int) จะ return True) หรือเป็นหนึ่งในหลายชนิดหรือไม่ (เช่น isinstance(5.65, (int, str)) จะ return False)
ชนิดข้อมูลที่ใช้ในแบบฝึกหัดนี้ได้แก่ int, float, และ str
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ฝึกทำโจทย์สัมภาษณ์งานเขียนโค้ดด้วย Python
คำแนะนำการฝึกหัด
- นิยามฟังก์ชันที่รับ arguments จำนวนเท่าใดก็ได้
- ตรวจสอบว่า
argเป็นตัวเลขหรือไม่ และเพิ่มเข้าไปในnumsหากใช่ - ตรวจสอบว่า
argเป็นสตริงหรือไม่ และเพิ่มเข้าไปในstringsหากใช่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define the function with an arbitrary number of arguments
def sort_types(____):
nums, strings = [], []
for arg in args:
# Check if 'arg' is a number and add it to 'nums'
if ____:
nums.____
# Check if 'arg' is a string and add it to 'strings'
elif ____:
strings.____
return (nums, strings)
print(sort_types(1.57, 'car', 'hat', 4, 5, 'tree', 0.89))