อ่านจำนวนเต็มจาก input เก็บใน n จากนั้นสร้างลิสต์ a ให้มีค่าเป็น [12, 22, 32, ..., n2]
___inp___ = ["10"]
def input():
t = ___inp___.pop(0)
___inp___.append(t)
return t
print(a)
n = int(input())
a = []
for i in range(1,n+1):
a.append(i**2)
for v in [["10"], ["0"], ["5"]] :
Ex().has_equal_value(pre_code="___inp___[:] =" + str(v), name="n",
undefined_msg = "ไม่มีตัวแปร n",
incorrect_msg = "n มีค่าไม่ถูกต้อง เช่น กรณีอินพุตเป็น " + v[0])
Ex().has_equal_value(pre_code="___inp___[:] =" + str(v), name="a",
undefined_msg = "ไม่มีตัวแปร a",
incorrect_msg = "a มีค่าไม่ถูกต้อง เช่น กรณีอินพุตเป็น " + v[0])
มี a เป็นลิสต์เก็บสตริงให้แล้ว จงสร้างลิสต์ b มีขนาดเท่าลิสต์ a โดย b[i] เก็บค่าสตริงกลับลำดับของ a[i] เช่น a = ["python", "java"] จะได้ b = ["nohtyp", "avaj"]
a = ["a", "ab", "", "abcdef", "abc"]
b = []
for i in range(len(a)):
b.append(a[i][::-1])
Ex().check_object("b").has_equal_value(incorrect_msg = "ยังไม่ถูกต้อง")
โปรแกรมข้างล่างนี้อ่านข้อมูลการจัดการลิสต์ x เก็บในตัวแปร c โดยมีลักษณะการทำงาน 4 แบบขึ้นกับค่าของ c ดังรูป จงเติมที่เขียน ??? ให้สมบูรณ์ (หมายเหตุ: สำหรับการลบ ข้อมูลที่ให้ลบมีอยู่ใน x แน่ ๆ ไม่ต้องกังวลว่าจะหาไม่พบ)
___inp___ = ["A a"]
def input():
return ___inp___[0]
x = ['a', 'bb', 'ccc', 'd', 'e']
c = input().split()
if c[0] == "A":
x.append(c[1]) # เขียนให้ดูเป็นตัวอย่าง
elif c[0] == "I":
???
elif c[0] == "R":
???
elif c[0] == "P":
???
print(x)
x = ['a', 'bb', 'ccc', 'd', 'e']
c = input().split()
if c[0] == "A":
x.append(c[1])
elif c[0] == "I":
x.insert(int(c[1]), c[2])
elif c[0] == "R":
x.remove(c[1])
elif c[0] == "P":
x.pop(int(c[1]))
print(x)
t = "อย่าลิม index ต้องเป็นจำนวนเต็ม"
cmds = ["I 4 Z", "A x", "R ccc", "P -1"]
msgs = [t, "", "", t]
for k in range(len(cmds)):
Ex().has_equal_output(pre_code="___inp___[0] ='" + cmds[k] + "'",
incorrect_msg = "ผิด เช่น กรณี c[0] เป็น" + cmds[k][0] + " " + msgs[k])
ข้อนี้เหมือนข้อที่แล้ว แต่มีสิ่งต้องตรวจสอบเพิ่มเติมคือ ข้อมูลที่ต้องการลบอาจไม่มีอยู่ในลิสต์, index ที่ต้องการลบหรือเพิ่มข้อมูลอาจไม่ใช่ index ที่ถูกต้อง ในกรณีที่พบเหตุการณ์เช่นนี้ในแสดงข้อความว่า Invalid
___inp___ = ["A a"]
def input():
return ___inp___[0]
x = ['a', 'bb', 'ccc', 'd', 'e']
c = input().split()
invalid = False
if c[0] == "A":
x.append(c[1]) # เขียนให้ดูเป็นตัวอย่าง
elif c[0] == "I":
???
elif c[0] == "R":
???
elif c[0] == "P":
???
if not invalid:
print(x)
else:
print("Invalid")
x = ['a', 'bb', 'ccc', 'd', 'e']
c = input().split()
invalid = False
if c[0] == "A":
x.append(c[1])
elif c[0] == "I":
idx = int(c[1])
if -(len(x)+1) <= idx <= len(x):
x.insert(idx, c[2])
else:
invalid = True
elif c[0] == "R":
if c[1] in x:
x.remove(c[1])
else:
invalid = True
elif c[0] == "P":
idx = int(c[1])
if -len(x) <= idx < len(x):
x.pop(idx)
else:
invalid = True
if not invalid:
print(x)
else:
print("Invalid")
t1 = "insert ได้ตั้งแต่ -(len(x)+1) จนถึง len(x)"
t2 = "pop ได้ตั้งแต่ -len(x) จนถึง len(x)-1"
t3 = "remove ได้เฉพาะตัวที่มีอยู่ในลิสต์"
cmds = ["I 5 Z", "I -6 Z", "I -7 Z", "I 6 Z",
"P 4", "P -5", "P 5", "P -6", "R ccc", "R cc", "A x" ]
msgs = [t1, t1, t1, t1, t2, t2, t2, t2, t3, t3, ""]
for k in range(len(cmds)):
Ex().has_equal_output(pre_code="___inp___[0] ='" + cmds[k] + "'",
incorrect_msg = "ผิด: " + msgs[k])
มีข้อมูลทาง input สามบรรทัด บรรทัดแรกเป็นรายการของรหัสสินค้า บรรทัดที่สองเป็นรายการของราคา (มีจำนวนข้อมูลเท่ากับของบรรทัดแรก โดยสินค้าชิ้นที่ตำแหน่ง i ก็มีราคาที่ตำแหน่ง i) บรรทัดสุดท้ายเป็นรหัสสินค้าที่อยากรู้ว่าราคาเท่าไร ถ้าเป็นรหัสที่ไม่มีอยู่ ให้แสดง Not found (หมายเหตุ: หัดใช้เมท็อดของลิสต์ที่เพิ่งเรียนมา)
___inp___ = ["A100 A200 A300 A400", "20.5 50.0 35.0 65.0", "A300"]
def input():
t = ___inp___.pop(0)
___inp___.append(t)
return t
prod_ids = input().split()
prices = input().split()
qid = input()
if qid in prod_ids:
i = prod_ids.index(qid)
print(prices[i])
else:
print("Not found")
for v in [["A100 A200 A300", "20.5 50.0 35.0", "A300"],
["A100 A200 A300", "20.5 50.0 35.0", "A999"]]:
Ex().has_equal_output(pre_code="___inp___[:] =" + str(v),
incorrect_msg = "ผิด เช่น กรณีอินพุตเป็น " + str(v))
โปรแกรมข้างล่างนี้มีลิสต์ d เก็บจำนวนเต็ม มีคำสั่งอ่านจำนวนเต็มเก็บใน q จงเขียนคำสั่งต่อเพื่อหาว่า q เป็นตัวที่น้อยสุดอันดับที่เท่าไรใน d (กำหนดให้ตัวที่น้อยสุด ๆ ใน d คือตัวน้อยสุดอันดับ 1) ถ้าใน d ไม่มี q ให้แสดง Not found
___inp___ = ["22"]
def input():
t = ___inp___.pop(0)
___inp___.append(t)
return t
d = [98,2,7,54,38,21,0,8,22,45,62]
q = int(input())
d = [98,2,7,54,38,21,0,8,22,45,62]
q = int(input())
if q not in d:
print("Not found")
else:
d.sort()
k = d.index(q)
print(k+1)
for v in [0, 2, 21, 62, 98, 77, -9, 109]:
Ex().has_equal_output(pre_code="___inp___[0] ='" + str(v) + "'",
incorrect_msg = "ผิด: กรณี q =" + str(v))