<1> |
ให้ d เป็น dict ที่มี
- key เป็นรหัสลูกค้า
- value เก็บลิสต์ของชื่อเกมที่ลูกค้าคนนี้ได้ซื้อไปแล้ว
ข้อใดสร้าง s เป็น dict ที่มี
- key เป็นชื่อเกม
- value เก็บเซตของรหัสลูกค้าทั้งหมดที่ได้ซื้อเกมนี้
A) s = {}
for v in d.values:
if v not in s:
s[v] = set()
s[v].add(d[v])
B) s = {}
x = [(k,e) for k in d for e in d[k]]
for k,e in x:
s[e] = set()
for k,e in x:
s[e].add(k)
C) s = dict([(d[k],k) for k in d])
D) s = {}
x = [(k,e) for k in d for e in d[k]]
for k,e in x:
s[e].update(k)
E) ไม่มีข้อใดถูก |
<2> |
ให้ x เป็น numpy array หนึ่งมิติเก็บจำนวนเต็ม
f(x) ในข้อใดคืนจริง เมื่อ x มีข้อมูลในที่ซ้ำกัน
เกิน 50% ของจำนวนข้อมูลทั้งหมด ถ้าไม่มีคืนเท็จ
(สมมติว่าได้ import numpy as np แล้ว)
A) def f(x):
N = x.shape[0]
c = np.sum(x == sorted(x)[N//2])
return c > N/2
B) มีข้อที่ทำได้ตามต้องการ 2 ข้อ
C) def f(x):
N = x.shape[0]
s = np.sum(x.dot(x.T),axis=0)
m = np.max(s)
return m > N/2
D) def f(x):
N = x.shape[0]
y = np.array([x]).T
m = np.max(np.sum(x==y, axis=0))
return m > N/2
E) ไม่มีข้อใดถูก |
<3> |
ให้โปรแกรม Python ชื่อ p.py มีบรรทัดเดียวคือ
print(open("p.py").readline().strip())
ถ้าสั่งโปรแกรมนี้ทำงานจะได้ผลอะไรทางจอภาพ
A) open("py.py").readline().strip()
B) readline().strip()
C) print(open("p.py").readline().strip())
D) โปรแกรมทำงานแล้วเกิด error
E) ไม่สามารถสรุปได้ว่าจะแสดงอะไร |
<4> |
ผู้เขียนตั้งใจให้โปรแกรมข้างล่างนี้ รับสตริงทางคีย์บอร์ด
แล้วนับว่า สตริงนั้นมีเลขคี่อย่างละกี่ตัว
เมื่อนำโปรแกรมนี้ไปทำงานแล้วป้อน --1-9-1-- เป็นอินพุต
จะเกิด error ที่คำสั่งในบรรทัดใด
c = dict() # บรรทัดที่ 1
for e in input().split(): # บรรทัดที่ 2
if e != [0,2,4,6,8] : # บรรทัดที่ 3
c[e] += 1 # บรรทัดที่ 4
print(c)
A) บรรทัดที่ 4
B) บรรทัดที่ 2
C) บรรทัดที่ 3
D) บรรทัดที่ 1
E) ทำงานได้ปกติ ไม่เกิด error |
<5> |
ข้อใดตรวจตัวแปร c ที่เก็บตัวพิมพ์เล็กตัวเดียวว่า
เป็น a, b, c, d หรือ e หรือไม่
A) if c == "abcde" :
B) if c is in "abcde" :
C) if 'e' => c => 'a':
D) if c.find("abcde") != -1 :
E) ไม่มีข้อใดถูก |
<6> |
ฟังก์ชัน f มีรายละเอียดข้างล่างนี้
def f(x, y):
for e in x:
y += e
return y
คำสั่งในข้อใดทำงานแล้วไม่เกิด error
A) f((123), 456)
B) f({'123'}, 456)
C) f((123,), 456)
D) f([1,2,3], (4,5,6))
E) มีข้อที่ไม่เกิด error มากกว่า 1 ข้อ |
<7> |
ให้ d เป็น numpy array ขนาด 100x100
ให้ N = d.shape[0] และ M = d.shape[1]
(สมมติว่าได้ import numpy as np แล้ว)
ข้อใดทำให้ข้อมูลในแถวแนวนอนอินเด็กซ์เลขคี่ทั้งหมด
มีค่าเป็น 0 ทั้งแถว
A) d[::-2, ::] = 0
B) d[range(0,N,2), range(M)] = 0
C) d[1:-1:2] = [0]
D) d[np.arange(N)%2==0, np.arange(M)] = 0
E) ไม่มีข้อใดถูก |
<8> |
หากนำเลขประจำตัวนิสิต 10 หลักของนิสิตจำนวนหนึ่ง
มาเรียงต่อกัน มีเครื่องหมาย : คั่นระหว่างเลขประจำตัว
เช่น "5937015921:5934847821:5938763221"
แล้วเก็บสตริงนี้ในตัวแปร IDs
ตัวเลือกในข้อใดสามารถหาว่า เลขประจำตัวที่เก็บในตัวแปร sid
ที่มีอยู่ใน IDs แน่ ๆ อยู่เป็นลำดับที่เท่าใดใน IDs
(กำหนดให้ตัวซ้ายสุดคือ ลำดับที่ 1)
A) IDs.find(sid)%11+1
B) (IDs.find(sid)+11)//11
C) IDs.find(sid)%10
D) IDs.find(sid)//10+1
E) ไม่มีข้อใดถูก |
<9> |
เครื่องหมายคณิตศาสตร์ใดถูกทำเป็นลำดับที่ 4
ในนิพจน์ 4*5-2%(5+2)/32
A) -
B) +
C) *
D) %
E) / |
<10> |
คำสั่งข้อใดมีโอกาสเกิด error ตอนทำงาน
(ตัวแปร b กับ c มีค่ากำหนดให้แล้ว)
A) a = b - c
B) a = b + c
C) a = b * c
D) a = b / c
E) มีโอกาสเกิด error ได้ทุกข้อ |
<11> |
ให้ x เป็นลิสต์เก็บจำนวนเต็ม
ข้อใดได้ค่าของตัวแปร s ต่างจากข้ออื่น
A) s = 0
for i in range(0,len(x),1):
s += x[i]
B) s = 0
for e in x[1::2]+x[::2]:
s += e
C) s = 0
for e in x[::-1]:
s += e
D) s = 0
for i in range(len(x),0,-1):
s += x[i]
E) ทุกข้อได้ s มีค่าเท่ากันหมด |
<12> |
ให้ m เป็นจำนวนเต็ม
ข้อใดแทนเงื่อนไขว่า m เก็บเลขเดือนของ
เดือนที่มีชื่อลงท้ายด้วย ยน
A) m is in [4,6,9,11]
B) not(m%2==1 and 0<m<8 or m%2==0 and 7<m<13) and m!= 2
C) 1<=m<=12 or m==4 or m==6 or m==9 or m==11
D) 0<m<13 and not(m!=4 or m!=6 or m!=9 or m!=11)
E) ถูกมากกว่า 1 ข้อ |
<13> |
ข้อใดทำงานแล้วจะวนในวงวนไม่สิ้นสุด
A) a = 227
while a != 0:
a -= 1
B) a = 227
while a != 0:
a //= 2
C) a = 227
while a != 0:
a %= 11
D) มีข้อที่ทำงานแล้วติดในวงวน 2 ข้อ
E) ทุกข้อทำงานได้ไม่ติดในวงวน |
<14> |
ให้ d เป็น dict มี
- คีย์ ชื่อจังหวัด, value เป็น dict ที่มี
- คีย์ 'region', value เก็บชื่อย่อภาค
- คีย์ 'population', value เก็บจำนวนประชากร
- ชื่อย่อภาคประกอบด้วย N, E, W, S, C, NE
นักเรียนคนหนึ่งเขียนฟังก์ชัน f(d) ข้างล่างนี้ มีหน้าที่
คืน dict ที่มีคีย์เป็นภาค, value เก็บจำนวนจังหวัดในภาค
def f(d):
c = {'NE':0, 'C':0, 'N':0, \
'E':0, 'W':0, 'S':0}
for p in d:
r = d[p]['region'] # บรรทัด I
for k in c: # บรรทัด II
if r in k: # บรรทัด III
c[r] += 1 # บรรทัด IV
break # บรรทัด V
return c
หลังจากทดสอบการทำงานแล้ว พบว่า ได้คำตอบเกือบถูก
ถ้าจะปรับฟังก์ชันนี้ ด้วยจำนวนการแก้ไขคำสั่งให้น้อยสุด ๆ
เพื่อให้ทำงานได้ถูกต้อง ต้องแก้ไขที่บรรทัดใด
A) บรรทัด IV
B) บรรทัด I
C) บรรทัด II
D) บรรทัด III
E) บรรทัด V |
<15> |
ข้อใดตั้งเป็นชื่อฟังก์ชันได้
A) 1a2b3
B) True
C) _o_o_
D) o-o-o
E) ไม่มีข้อใดถูก |