1: Data Type & Expression

1-6: Operator and input()

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

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

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

___inp___ = ["A+++++"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # รับสตริงจาก input เก็บในตัวแปร grade # แสดงข้อความว่า I'll get ตามด้วยช่องว่าง 1 ช่อง # ตามด้วยค่าในตัวแปร grade # grade = input() print("I'll get", grade) obj = Ex().check_object('grade', missing_msg="ไม่มีตัวแปร grade") obj.has_equal_value(incorrect_msg="ต้องรับค่าจาก input") sig = sig_from_params(param("value", param.VAR_POSITIONAL), param("sep", param.KEYWORD_ONLY, default=' '), param("end", param.KEYWORD_ONLY, default='\n')) Ex().check_function("print", signature=sig, missing_msg="ต้องแสดงผลลัพธ์ด้วย print") Ex().has_equal_output(incorrect_msg="แสดงข้อความให้ตรงตามที่โจทย์กำหนด")
แบบฝึกหัด 1-6 ข้อที่ 2

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

___inp___ = ["22", "29.4"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # รับจำนวนจริงจาก input เก็บในตัวแปร h # รับจำนวนจริงจาก input เก็บในตัวแปร w # h คือความสูงของสามเหลี่ยม # w คือความยาวฐานของสามเหลี่ยม # แสดงพื้นที่ของสามเหลี่ยม # h = float(input()) w = float(input()) print(h*w/2) obj = Ex().check_object('h', missing_msg="ไม่มีตัวแปร h") obj.has_equal_value(expr_code="type(h)", incorrect_msg="h ต้องเป็นจำนวนจริง") obj.has_equal_value(incorrect_msg="ต้องรับค่าจาก input") obj = Ex().check_object('w', missing_msg="ไม่มีตัวแปร w") obj.has_equal_value(incorrect_msg="ต้องรับค่าจาก input") Ex().check_function("print", missing_msg="ต้องแสดงผลลัพธ์ด้วย print") Ex().has_equal_output(incorrect_msg="ยังไม่ใช่พื้นที่สามเหลี่ยมที่ถูกต้อง")
แบบฝึกหัด 1-6 ข้อที่ 3

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

___inp___ = ["311", "75"] def input(): t = ___inp___.pop(0) ___inp___.append(t) return t # รับจำนวนเต็มจาก input เก็บในตัวแปร x # รับจำนวนเต็มจาก input เก็บในตัวแปร y # คำนวณ x ยกกำลัง y เก็บใน z # นำหลักหน่วยของ z เก็บใน d # แสดงค่าของ d # x = int(input()) y = int(input()) z = x**y d = z%10 print(d) for v in 'xy': 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="ต้องรับค่าจาก input ใส่ "+v) obj = Ex().check_object('z', missing_msg="ไม่มีตัวแปร z") obj.has_equal_value(incorrect_msg="z มีค่าไม่เท่ากับ x ยกกำลัง y") Ex().has_equal_ast(code="z = x ** y", exact = False, incorrect_msg="หัดใช้ ** เพื่อยกกำลัง") obj = Ex().check_object('d', missing_msg="ไม่มีตัวแปร d") obj.has_equal_value(incorrect_msg="d มีค่าไม่เท่ากับหลักหน่วยของ z") Ex().has_equal_ast(code="d = z % 10", exact = False, incorrect_msg="หัดใช้ % 10 เพื่อดึงหลักหน่วย") Ex().has_equal_output(incorrect_msg="แสดงค่าของ d ด้วย print(d)")
แบบฝึกหัด 1-6 ข้อที่ 4

สั่ง Run โปรแกรมข้างล่างนี้ แล้วพยายามทำความเข้าใจว่า ทำไมถึงได้ผลลัพธ์ดังที่แสดง

print("5 / 2 =", 5/2) print("5 // 2 =", 5//2) print("4**2 =", 4**2 print("4**0.5 =", 4**0.5) print("9 % 24 =", 9%24) print("(9+24) % 24 =", (9+24)%24) print("(-1+24) % 24 =", (-1+24)%24) print("-1 % 24 =", -1%24) print("4.5 % 1 =", 4.5%1) print("int(4.9) =", int(4.9)) print("int(-4.9) =", int(-4.9))
แบบฝึกหัด 1-6 ข้อที่ 5

เขียนคำสั่งที่แสดง สองหลักขวาสุดของค่า \((21387)^{2341}\)

print( ??? ) print( (21387**2341)%100 ) Ex().has_equal_output(incorrect_msg="ไม่ถูกต้อง")