2: Basic String & List

2-1: Index and Slice

** ถ้าใช้งานบนมือถือหรือ tablet แนะนำให้ใช้ Chrome หรือ Safari เท่านั้น **

แบบฝึกหัด 2-1 ข้อที่ 1

เขียนคำสั่งตามที่แสดงใน comment

# แสดงเลข 0 ติดกัน 50 ตัว # print("0"*50) Ex().has_equal_output(incorrect_msg="โจทย์ให้แสดงเลข 0 ติดกัน 50 ตัว") Ex().has_code('*', pattern=False, not_typed_msg="ควรหัดใช้ * กับสตริง")
แบบฝึกหัด 2-1 ข้อที่ 2

เขียนคำสั่งตามที่แสดงใน comment

# สร้างตัวแปร d เป็นลิสต์ที่ยาว 10 ช่อง # ภายในเก็บจำนวนทีมีคุณสมบัติทุกข้อดังนี้ # เป็นจำนวนเต็มบวกมีค่าไม่เกิน 30 # มีค่าไม่ซ้ำกัน # มีค่าที่หารด้วย 3 ลงตัว # เก็บในลิสต์เรียงจากน้อยไปมาก # d = [3,6,9,12,15,18,21,24,27,30] obj = Ex().check_object('d', missing_msg = "ไม่มีตัวแปร count") obj.has_equal_value(incorrect_msg = "d มีค่าไม่ตรงตามโจทย์") obj.has_equal_value(expr_code="type(d)", incorrect_msg="d ต้องเป็น list") obj.has_equal_value(expr_code="[type(e) for e in d]", incorrect_msg="d ต้องเป็น list ของจำนวนเต็ม")
แบบฝึกหัด 2-1 ข้อที่ 3

เขียนคำสั่งตามที่แสดงใน comment

# สร้างตัวแปร count เป็นลิสต์ที่ยาว 1000 ช่อง # ภายในเก็บจำนวนเต็ม 0 ทุกช่อง # count = [0]*1000 obj = Ex().check_object('count', missing_msg = "ไม่มีตัวแปร count") obj.has_equal_value(incorrect_msg = "count มีค่าไม่ตรงตามโจทย์") obj.has_equal_value(expr_code="type(count)", incorrect_msg="count ต้องเป็น list") obj.has_equal_value(expr_code="[type(e) for e in count]", incorrect_msg="count ต้องเป็น list ของจำนวนเต็ม")
แบบฝึกหัด 2-1 ข้อที่ 4

เขียนคำสั่งตามที่แสดงใน comment

# สร้างตัวแปร x เป็นลิสต์ของจำนวนเต็ม # x มีทั้งหมด 1000 ช่อง # 500 ช่องแรกเก็บ 0 หมด ที่เหลือเก็บ 1 # x = [0]*500 + [1]*500 obj = Ex().check_object('x', missing_msg = "ไม่มีตัวแปร x") obj.has_equal_value(incorrect_msg = "x มีค่าไม่ตรงตามโจทย์") obj.has_equal_value(expr_code="type(x)", incorrect_msg="x ต้องเป็น list") obj.has_equal_value(expr_code="[type(e) for e in x]", incorrect_msg="x ต้องเป็น list ของจำนวนเต็ม")
แบบฝึกหัด 2-1 ข้อที่ 5

เขียนคำสั่งตามที่แสดงใน comment

___inp___ = ["ABCDEF", "3"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # อ่านสตริงจาก input เก็บใน s # แสดงจำนวนตัวอักษรที่เก็บใน s # อ่านจำนวนเต็มจาก input เก็บใน k # สร้างสตริง t มีค่าเป็น s ที่ต่อกัน k ครั้ง # แสดงสตริง t # s = input() print(len(s)) k = int(input()) t = s*k print(t) for v in 'skt': obj = Ex().check_object(v, missing_msg = "ไม่มีตัวแปร "+v) obj.has_equal_value(incorrect_msg = v+" มีค่าไม่ถูกต้อง") Ex().has_equal_output(incorrect_msg="แสดงค่าที่โจทย์กำหนดด้วย")
แบบฝึกหัด 2-1 ข้อที่ 6

เขียนคำสั่งตามที่แสดงใน comment

___inp___ = ["3"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # สร้างตัวแปร x เป็นลิสต์เก็บเลข 1 ถึง 9 # อ่านจำนวนเต็มจาก input เก็บใน k # สร้างลิสต์ y มีค่าเป็น x ที่ต่อกัน k ครั้ง # แสดงความยาวของ y ตามด้วยลิสต์ y # x = [1,2,3,4,5,6,7,8,9] k = int(input()) y = x*k print(len(y), y) for v in 'xky': obj = Ex().check_object(v, missing_msg = "ไม่มีตัวแปร "+v) obj.has_equal_value(incorrect_msg = v+" มีค่าไม่ถูกต้อง") Ex().has_equal_output(incorrect_msg="โจทย์ให้แสดง ความยาวของ y ตามด้วยลิสต์ y") Ex().check_function("len", missing_msg="ควรหัดใช้ฟังก์ชัน len")
แบบฝึกหัด 2-1 ข้อที่ 7

เขียนคำสั่งตามที่แสดงใน comment

___inp___ = ["ABCDEFGHIJKLMNOPQRST"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # อ่านสตริงจาก input เก็บใน s # นำตัวซ้ายสุดต่อกับตัวขวาสุดเก็บใน t # นำตัวตรงกลางของ s เก็บใส่ u # ถ้า s = "01234" ตัวตรงกลางคือ "2" # ถ้า s = "012345" ตัวตรงกลางคือ "2" # s = input() t = s[0] + s[-1] u = s[(len(s)-1)//2] for v in 'stu': obj = Ex().check_object(v, missing_msg = "ไม่มีตัวแปร "+v) obj.has_equal_value(incorrect_msg = v+" มีค่าไม่ตรงตามโจทย์")
แบบฝึกหัด 2-1 ข้อที่ 8

เขียนคำสั่งตามที่แสดงใน comment

___inp___ = ["ABCDEFGHIJKLMNOPQRST"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # อ่านสตริงจาก input เก็บใน s # นำตัวอักษร 5 ตัวซ้ายสุดของ s เก็บใน a # นำตัวอักษร 5 ตัวขวาสุดของ s เก็บใน b # นำทุกตัวใน s ยกเว้นตัวซ้ายสุดกับขวาสุดเก็บใน c # นำตัวอักษรใน s ตัวเว้นตัวเริ่มที่ตัวซ้ายสุดเก็บใส่ d # ให้ e เก็บตัวอักษรทุกตัวของ s ย้อนจากขวามาซ้าย # s = input() a = s[:5] b = s[-5:] c = s[1:-1] d = s[0::2] e = s[::-1] for v in 'sabcde': obj = Ex().check_object(v, missing_msg = "ไม่มีตัวแปร "+v) obj.has_equal_value(incorrect_msg = v+" มีค่าไม่ตรงตามโจทย์")
แบบฝึกหัด 2-1 ข้อที่ 9

เขียนคำสั่งตามที่แสดงใน comment

___inp___ = ["ABCDEFGHIJKLMNOPQRST"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # อ่านสตริงจาก input เก็บใน s # ให้ a เก็บสตริงที่เหมือน s ขาดเฉพาะตัวที่ # index 2,3,4,8,9 และ 10 # ให้ b เก็บสตริงที่เหมือน s แต่เปลี่ยน # ตัวที่ index 5 ให้เป็นเครื่องหมาย + # s = input() a = s[:2] + s[5:8] + s[11:] b = s[:5] + "+" + s[6:] for v in 'sab': obj = Ex().check_object(v, missing_msg = "ไม่มีตัวแปร "+v) obj.has_equal_value(incorrect_msg = v+" มีค่าไม่ตรงตามโจทย์")