เขียนตอบแต่ละข้อเริ่มด้วยเลขข้อในรูปแบบ <เลขข้อ> เช่น
<1>
x = input()
print(x, x*2, x*3)
<2>
<3> np.sum(x-y,axis=1)
<4>
หาว่าในลิสต์มีเลขคี่หรือไม่
และอย่าลืมกด SUBMIT ด้วย (ส่งได้หลายครั้ง จะตรวจครั้งล่าสุด)

<1>
โปรแกรมข้างล่างนี้แสดง * กี่ตัว
(อนุญาตให้ตอบคลาดเคลื่อนได้ บวกลบ 1)

i,j = 10, 2010
while i < j:
  print('*')
  i += 13
  j -= 7
Solution:
ceil((2010-10)/(13+7)) = 100
<1>
โปรแกรมข้างล่างนี้แสดง * กี่ตัว
(อนุญาตให้ตอบคลาดเคลื่อนได้ บวกลบ 1)

i,j = 25, 1225
while i < j:
  print('*')
  i += 5
  j -= 25
Solution:
ceil((1225-25)/(5+25)) = 40
<1>
โปรแกรมข้างล่างนี้แสดง * กี่ตัว
(อนุญาตให้ตอบคลาดเคลื่อนได้ บวกลบ 1)

i,j = 500, 1750
while i < j:
  print('*')
  i += 2
  j -= 3
Solution:
ceil((1750-500)/(2+3)) = 250
<2>
โปรแกรมข้างล่างนี้แสดง * กี่ตัว
for i in range(3):
  print('*')
  for j in range(4):
    print('*')
    for k in range(5):
      print('*')
Solution:
3 + 3*4 + 3*4*5 = 75
<2>
โปรแกรมข้างล่างนี้แสดง * กี่ตัว
for i in range(5):
  print('*')
  for j in range(4):
    print('*')
    for k in range(3):
      print('*')
Solution:
5 + 5*4 + 5*4*3 = 85
<2>
โปรแกรมข้างล่างนี้แสดง * กี่ตัว
for i in range(4):
  print('*')
  for j in range(5):
    print('*')
    for k in range(3):
      print('*')
Solution:
4 + 4*5 + 5*4*3 = 84
<2>
โปรแกรมข้างล่างนี้แสดง * กี่ตัว
for i in range(3):
  print('*')
  for j in range(5):
    print('*')
    for k in range(4):
      print('*')
Solution:
3 + 3*5 + 5*4*3 = 78
<3>
ให้ x เก็บจำนวนเต็ม จงเขียนคำสั่งแสดงเลขหลักสิบใน x
ถ้าไม่มีเลขที่หลักนี้ ก็แสดง 0
Solution:
print(x//10%10)
<3>
ให้ x เก็บจำนวนเต็ม จงเขียนคำสั่งแสดงเลขหลักร้อยใน x
ถ้าไม่มีเลขที่หลักนี้ ก็แสดง 0
Solution:
print(x//100%10)
<3>
ให้ x เก็บจำนวนเต็ม จงเขียนคำสั่งแสดงเลขหลักพันใน x
ถ้าไม่มีเลขที่หลักนี้ ก็แสดง 0
Solution:
print(x//1000%10)
<3>
ให้ x เก็บจำนวนเต็ม จงเขียนคำสั่งแสดงเลขหลักหมื่นใน x
ถ้าไม่มีเลขที่หลักนี้ ก็แสดง 0
Solution:
print(x//10000%10)
<3>
ให้ x เก็บจำนวนเต็ม จงเขียนคำสั่งแสดงเลขหลักแสนใน x
ถ้าไม่มีเลขที่หลักนี้ ก็แสดง 0
Solution:
print(x//100000%10)
<4>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:
if a==1: 
  b = a+1
elif a==3: 
  b = a+3
if b>2: 
  a = a+5
<4>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:
if x==1: 
  a = 2*x
elif x==3: 
  a = x/2
if a>2: 
  a = x+1
<4>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:
if z>10: 
  y = z/3
elif z>5: 
  y = 5*z
if y>2: 
  z = z+1
<4>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:
if z<10: 
  y = z/2
elif z<50: 
  y = 4*z
if y<2: 
  z = z+2
<4>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:
if x==a: 
  a = 2*x
elif x==b: 
  a = x/2
if x>2: 
  c = x+1
<4>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:
if a==b: 
  b = a+1
elif a==c: 
  c = a+3
if b>x: 
  a = a+b
<5>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:

b = 1831
a = 3751
while a>1:
  b += a+1
  if b%a == 7: break
  a //= 2
print(a,b)
<5>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:

a = 1832
b = 3751
while a>0:
  b *= a+1
  if a%b == 0: break
  a -=17
print(a,b)
<5>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:

a = 1383
b = 3715
while a>0:
  b *= a+1
  if not(b%a == 3): break
  a -= 29
print(a,b)
<5>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:

b = 1834
a = 3751
while not(a>1):
  b += a+3
  if b%a == 9: break
  a //= 2
print(a,b)
<5>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:

a = 1835
b = 3751
while not(a>0):
  b *= a+1
  if a%b == 0: break
  a -= 17
print(a,b)
<5>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
Solution:

b = 1836
a = 3751
while a>1:
  b += a+1
  if not(b%a == 7): break
  a //= 2
print(a,b)
<6>
จาก flowchart ถ้าเริ่มต้น a,b และ c มีค่า 3,11,15 ตามลำดับ
พอทำงานจนถึงวงกลมเลข 1 ด้านล่าง
a,b และ c จะมีค่าเท่าไร
Solution:
3,17,15
<6>
จาก flowchart ถ้าเริ่มต้น a,b และ c มีค่า 4,11,18 ตามลำดับ
พอทำงานจนถึงวงกลมเลข 1 ด้านล่าง
a,b และ c จะมีค่าเท่าไร
Solution:
4,19,18
<6>
จาก flowchart ถ้าเริ่มต้น a,b และ c มีค่า 30,40,300 ตามลำดับ
พอทำงานจนถึงวงกลมเลข 1 ด้านล่าง
a,b และ c จะมีค่าเท่าไร
Solution:
30,130,300
<6>
จาก flowchart ถ้าเริ่มต้น a,b และ c มีค่า 20,50,200 ตามลำดับ
พอทำงานจนถึงวงกลมเลข 1 ด้านล่าง
a,b และ c จะมีค่าเท่าไร
Solution:
20,110,200
<7>
จาก flowchart ถ้าเริ่มต้น a,b และ c มีค่า 5,1,6 ตามลำดับ
พอทำงานจนถึงวงกลมเลข 1 ด้านล่าง
a,b และ c จะมีค่าเท่าไร
Solution:
5,7,18
<7>
จาก flowchart ถ้าเริ่มต้น a,b และ c มีค่า 4,2,8 ตามลำดับ
พอทำงานจนถึงวงกลมเลข 1 ด้านล่าง
a,b และ c จะมีค่าเท่าไร
Solution:
4,10,22
<7>
จาก flowchart ถ้าเริ่มต้น a,b และ c มีค่า 5,1,3 ตามลำดับ
พอทำงานจนถึงวงกลมเลข 1 ด้านล่าง
a,b และ c จะมีค่าเท่าไร
Solution:
8,1,12
<7>
จาก flowchart ถ้าเริ่มต้น a,b และ c มีค่า 4,2,3 ตามลำดับ
พอทำงานจนถึงวงกลมเลข 1 ด้านล่าง
a,b และ c จะมีค่าเท่าไร
Solution:
7,2,12
<7>
จาก flowchart ถ้าเริ่มต้น a,b และ c มีค่า 5,3,1 ตามลำดับ
พอทำงานจนถึงวงกลมเลข 1 ด้านล่าง
a,b และ c จะมีค่าเท่าไร
Solution:
5,3,9
<7>
จาก flowchart ถ้าเริ่มต้น a,b และ c มีค่า 6,4,2 ตามลำดับ
พอทำงานจนถึงวงกลมเลข 1 ด้านล่าง
a,b และ c จะมีค่าเท่าไร
Solution:
6,4,12
<8>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร a, x, y และ z ได้เลย)
<8>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร a, x, y และ z ได้เลย)
<8>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร a, x, y และ z ได้เลย)
<8>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร a, x, y และ z ได้เลย)
<8>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร a, x, y และ z ได้เลย)
<8>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร a, x, y และ z ได้เลย)
<9>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร s, k, j และ n ได้เลย)
<9>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร s, k, j และ n ได้เลย)
<9>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร s, k, j และ n ได้เลย)
<9>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร s, k, j และ n ได้เลย)
<9>
จงเขียนคำสั่งที่คำนวณสูตรข้างล่างนี้ 
(ใช้ตัวแปร s, k, j และ n ได้เลย)
<10>
ฟังก์ชัน f(x) ข้างล่างนี้ 
รับ x เป็นจำนวนเต็มบวก 
คืนลิสต์ของจำนวนเฉพาะต่าง ๆ ที่เป็นตัวประกอบของ x
เช่น f(63) คืน [3,3,7]
จงเติมคำสั่งแทนที่เครื่องหมาย **** และ ????
เพื่อให้ f ทำงานถูกต้อง

def f(x):
  fac = []
  k = 2
  while **** :    # <------
    while ???? :  # <------
      x = x//k
      fac.append(k)
    k += 1
  return fac
Solution:
**** คือ k <= x 
???? คือ x%k == 0
<11>
จงเขียนฟังก์ชัน f(x) ที่
คืนจริง ถ้าไม่มีตัวอังกฤษตัวพิมพ์เล็กใน x เลย
ไม่เช่นนั้นคืนเท็จ
โดยให้เขียนเพียงบรรทัดเดียวในฟังก์ชัน 
ไม่มีการใช้เครื่องหมาย ; (semicolon)
Solution:
def f(x):
  return x.upper() == x
  # return sum([1 for e in x if 'a'<=e<='z']) == 0
<11>
จงเขียนฟังก์ชัน f(x) ที่
คืนจริง ถ้าไม่มีตัวอังกฤษตัวพิมพ์ใหญ่ใน x เลย
ไม่เช่นนั้นคืนเท็จ
โดยให้เขียนเพียงบรรทัดเดียวในฟังก์ชัน 
ไม่มีการใช้เครื่องหมาย ; (semicolon)
Solution:
def f(x):
  return x.lower() == x
  # return sum([1 for e in x if 'A'<=e<='Z']) == 0
<12>
จงเขียนฟังก์ชัน f(x, y)
- x และ y เป็น numpy array หนึ่งมิติเก็บจำนวนจริง
- ค่าใน x ไม่เท่ากันเลย และค่าใน y ก็ไม่เท่ากันเลย
- f(x,y) คืนจำนวนคู่ข้อมูลของ x กับ y 
  ที่มีค่าต่างกันไม่เกิน 1
- ห้ามใช้คำสั่ง for, while, comprehension, map, reduce

เช่น f(np.array([1.1, 2.1]),np.array([1, 2.0, 3.2]))
    คืน 3 (คือคู่ 1.1 กับ 1, 1.1 กับ 2.0 และ 2.1 กับ 2.0)
Solution:
def f(x,y):
  z = x - y.reshape((y.shape[0],1))
  return np.sum(np.abs(z) <= 1)
<12>
จงเขียนฟังก์ชัน f(x, y)
- x และ y เป็น numpy array หนึ่งมิติเก็บจำนวนเต็ม
- ค่าใน x ไม่เท่ากันเลย และค่าใน y ก็ไม่เท่ากันเลย
- f(x,y) คืนจำนวนคู่ข้อมูลของ x กับ y 
  ที่มีค่าต่างกันไม่เกิน 2
- ห้ามใช้คำสั่ง for, while, comprehension, map, reduce

เช่น f(np.array([2,4]),np.array([3,9,6]))
    คืน 3 (คือคู่ 2 กับ 3, 4 กับ 3 และ 4 กับ 6)
Solution:
def f(x,y):
  z = x - y.reshape((y.shape[0],1))
  return np.sum(np.abs(z) <= 2)
<12>
จงเขียนฟังก์ชัน f(x, y)
- x และ y เป็น numpy array หนึ่งมิติเก็บจำนวนเต็ม
- ค่าใน x ไม่เท่ากันเลย และค่าใน y ก็ไม่เท่ากันเลย
- f(x,y) คืนจำนวนคู่ข้อมูลของ x กับ y 
  ที่ค่าใน x น้อยกว่าค่าใน y
- ห้ามใช้คำสั่ง for, while, comprehension, map, reduce

เช่น f(np.array([5,8]),np.array([3,9,6]))
    คืน 3 (คือคู่ 5 กับ 9, 5 กับ 6 และ 8 กับ 9)
Solution:
def f(x,y):
  z = x < y.reshape((y.shape[0],1))
  return np.sum(z)
<12>
จงเขียนฟังก์ชัน f(x, y)
- x และ y เป็น numpy array หนึ่งมิติเก็บจำนวนเต็ม
- ค่าใน x ไม่เท่ากันเลย และค่าใน y ก็ไม่เท่ากันเลย
- f(x,y) คืนจำนวนคู่ข้อมูลของ x กับ y 
  ที่ค่าใน x มากกว่าค่าใน y
- ห้ามใช้คำสั่ง for, while, comprehension, map, reduce

เช่น f(np.array([5,8]),np.array([3,9,6]))
    คืน 3 (คือคู่ 5 กับ 3, 8 กับ 3 และ 8 กับ 6)
Solution:
def f(x,y):
  z = x > y.reshape((y.shape[0],1))
  return np.sum(z)
<13>
ให้ x เป็นลิสต์ของจำนวนเต็ม
ฟังก์ชัน f(x) ข้างล่างนี้ทำอะไร อธิบายสั้น ๆ ไม่เกิน 30 คำ

def f(x):
    if len(x)==0: return 0
    y = sorted(x)
    c = y[0]
    k = 1
    m = 1
    for e in y[1:]:
        if e == c:
            k += 1
        else:
            m = max(m, k)
            c = e
            k = 1
    return m
Solution:
x มีตัวซ้ำกันมากสุดกี่ตัว
f([1,3,1,1,2,1,1]) -> 5
<13>
ให้ x เป็นลิสต์ของจำนวนเต็ม
ฟังก์ชัน f(x) ข้างล่างนี้ทำอะไร อธิบายสั้น ๆ ไม่เกิน 30 คำ

def f(x):
    if len(x)==0: return 0
    c = x[0]
    k = 1
    m = 1
    for e in x[1:]:
        if c < e:
            k += 1
            if k > m: m = k
        else:
            k = 1
        c = e
    return m
Solution:
x มีตัวที่ติดกันมีค่าเพิ่มขึ้นเรื่อย ๆ มากสุดกี่ตัว
f([1,2,3,3,4,5,9,1]) --> 4
<13>
ให้ x เป็นลิสต์ของจำนวนเต็ม
ฟังก์ชัน f(x) ข้างล่างนี้ทำอะไร อธิบายสั้น ๆ ไม่เกิน 30 คำ

def f(x):
    if len(x)==0: return 0
    c = x[0]
    k = 1
    m = 1
    for e in x[1:]:
        if c > e:
            k += 1
            if k < m: m = k
        else:
            k = 1
        c = e
    return m
Solution:
x มีตัวที่ติดกันมีค่าลดลงเรื่อย ๆ มากสุดกี่ตัว
f([9,4,3,8,6,5,4,1,9]) -> 5
<13>
ให้ x เป็นลิสต์ของจำนวนเต็ม
ฟังก์ชัน f(x) ข้างล่างนี้ทำอะไร อธิบายสั้น ๆ ไม่เกิน 30 คำ

def f(x):
    if len(x)==0: return 0
    c = x[0]
    k = 1
    m = 1
    for e in x[1:]:
        if c == e:
            k += 1
            if k > m: m = k
        else:
            k = 1
        c = e
    return m
Solution:
x มีตัวที่ติดกันเท่ากันมากสุดกี่ตัว
f([2,3,1,1,1,2,2,2,2,1,3,1]) -> 4
<14>
จากคลาส A ข้างล่างนี้
class A:
  def __init__(self, x, y):
    self.a = x
    self.b = y
    self.c = x+y

ต้องทำอย่างไรกับคลาส A 
เพื่อทำให้การทำงานคำสั่งข้างล่างนี้
a = A(2, 7)
b = A(3, 4)
print(a, b)

จะแสดงข้างล่างนี้ทางจอภาพ
[2, 9] [3, 7]
Solution:
  def __str__(self):
    return '['+str(self.a)+', '+str(self.c)+']'
<14>
จากคลาส A ข้างล่างนี้
class A:
  def __init__(self, x, y):
    self.a = x
    self.b = y
    self.c = x+y

ต้องทำอย่างไรกับคลาส A 
เพื่อทำให้การทำงานคำสั่งข้างล่างนี้
a = A(2, 7)
b = A(3, 4)
print(a, b)

จะแสดงข้างล่างนี้ทางจอภาพ
[7, 9] [4, 7]
Solution:
  def __str__(self):
    return '['+str(self.b)+', '+str(self.c)+']'
<14>
จากคลาส A ข้างล่างนี้
class A:
  def __init__(self, x, y):
    self.a = x
    self.b = y
    self.c = x+y

ต้องทำอย่างไรกับคลาส A 
เพื่อทำให้การทำงานคำสั่งข้างล่างนี้
a = A(2, 7)
b = A(3, 4)
print(a, b)

จะแสดงข้างล่างนี้ทางจอภาพ
[7, 2] [4, 3]
Solution:
  def __str__(self):
    return '['+str(self.b)+', '+str(self.a)+']'
<14>
จากคลาส A ข้างล่างนี้
class A:
  def __init__(self, x, y):
    self.a = x
    self.b = y
    self.c = x+y

ต้องทำอย่างไรกับคลาส A 
เพื่อทำให้การทำงานคำสั่งข้างล่างนี้
a = A(2, 7)
b = A(3, 4)
print(a, b)

จะแสดงข้างล่างนี้ทางจอภาพ
[9, 2] [7, 3]
Solution:
  def __str__(self):
    return '['+str(self.c)+', '+str(self.a)+']'
<15>
จากคลาส A ข้างล่างนี้
class A:
  def __init__(self, x, y):
    self.a = x
    self.b = y

ต้องทำอย่างไรกับคลาส A 
เพื่อทำให้การทำงานคำสั่งข้างล่างนี้
a = A(2, 7)
a.action()
print(a.a, a.b)

จะแสดงข้างล่างนี้ทางจอภาพ
0 0
Solution:
  def action(self):
    self.a = self.b = 0
<15>
จากคลาส A ข้างล่างนี้
class A:
  def __init__(self, x, y):
    self.a = x
    self.b = y

ต้องทำอย่างไรกับคลาส A 
เพื่อทำให้การทำงานคำสั่งข้างล่างนี้
a = A(2, 7)
a.action()
print(a.a, a.b)

จะแสดงข้างล่างนี้ทางจอภาพ
-1 0
Solution:
  def action(self):
    self.a = -1
    self.b = 0
<15>
จากคลาส A ข้างล่างนี้
class A:
  def __init__(self, x, y):
    self.a = x
    self.b = y

ต้องทำอย่างไรกับคลาส A 
เพื่อทำให้การทำงานคำสั่งข้างล่างนี้
a = A(2, 7)
a.action()
print(a.a, a.b)

จะแสดงข้างล่างนี้ทางจอภาพ
5 5
Solution:
  def action(self):
    self.a = 5
    self.b = 5
<15>
จากคลาส A ข้างล่างนี้
class A:
  def __init__(self, x, y):
    self.a = x
    self.b = y

ต้องทำอย่างไรกับคลาส A 
เพื่อทำให้การทำงานคำสั่งข้างล่างนี้
a = A(2, 7)
a.action()
print(a.a, a.b)

จะแสดงข้างล่างนี้ทางจอภาพ
3 4
Solution:
  def action(self):
    self.a = 3
    self.b = 4