2: Basic String & List

2-3: String Splitting

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

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

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

___inp___ = ["12:2:9"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # อ่านสตริงจาก input เก็บใน x # สตริงที่อ่านมามีรูปแบบ h:m:s แทน # ชั่วโมง:นาที:วินาที # เช่น 10:30:00 หรือ 8:30:15 # ให้สร้างตัวแปร 3 ตัว h, m และ s # ที่เก็บจำนวนเต็มของชั่วโมง นาที # และวินาที่ตามลำดับ # x = input().split(":") h = int(x[0]) m = int(x[1]) s = int(x[2]) for v in 'hms': obj = Ex().check_object(v, missing_msg = "ไม่มีตัวแปร "+v) obj.has_equal_value(expr_code="type("+v+")", incorrect_msg=v+" ต้องเป็น int") obj.has_equal_value(incorrect_msg = v+" มีค่าไม่ตรงตามโจทย์")
แบบฝึกหัด 2-3 ข้อที่ 2

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

___inp___ = ["10, 20, 40, 20"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # อ่านสตริงจาก input เก็บใน x # สตริงที่อ่านมามีรูปแบบจำนวนเต็ม 4 จำนวน # โดยจำนวนเต็มทั้งสี่ถูกคั่นด้วย , และช่องว่าง # เช่น 24, 35, 43, 67 # จงแสดงค่าเฉลี่ยของจำนวนที่อ่านเข้ามา # x = input().split(", ") s = int(x[0]) s += int(x[1]) s += int(x[2]) s += int(x[3]) print(s/4) Ex().has_equal_output(incorrect_msg = "ค่าเฉลี่ยที่หาได้ยังไม่ถูกต้อง")
แบบฝึกหัด 2-3 ข้อที่ 3

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

___inp___ = ["6231012121: 10.8, 20.4, 30.2"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # อ่านสตริงจาก input ที่มีรูปแบบ # รหัสนักศึกษา: คะแนน, คะแนน, คะแนน # เช่น 10232: 20, 30.5, 15.8 # # เก็บสตริงรหัสนักศึกษาใน student_id # เก็บคำนวนคะแนนเฉลี่ยใน average_point # t = input().split(": ") student_id = t[0] x = t[1].split(", ") s = float(x[0]) s += float(x[1]) s += float(x[2]) average_point = s/3 v = 'student_id' obj = Ex().check_object(v, missing_msg = "ไม่มีตัวแปร "+v) obj.has_equal_value(expr_code="type("+v+")", incorrect_msg=v+" ต้องเป็น str") obj.has_equal_value(incorrect_msg = v+" มีค่าไม่ตรงตามโจทย์") v = 'average_point' obj = Ex().check_object(v, missing_msg = "ไม่มีตัวแปร "+v) obj.has_equal_value(expr_code="type("+v+")", incorrect_msg=v+" ต้องเป็น float") obj.has_equal_value(incorrect_msg = v+" มีค่าไม่ตรงตามโจทย์")
split ด้วย : ก่อน แล้วค่อย split ด้วย ,