เขียนตอบแต่ละข้อเริ่มด้วยเลขข้อในรูปแบบ <เลขข้อ>
<1> พิมพ์คำตอบโปรแกรมข้อที่ 1 ... ... <2> พิมพ์คำตอบโปรแกรมข้อที่ 2 ... ...
<1> |
แฟ้ม scores.txt เก็บคะแนนกลางภาคและปลายภาคของนักเรียน ข้อมูลภายในคั่นด้วย comma (,) อาจมีช่องว่างด้วย เช่น ID, Mid (30),Final (100) P49203, 25, 45 P44949, 5, 100 P50392x, 29,48 P52812a1,27, 8 จงเขียนโปรแกรมอ่านแฟ้มนี้ มาปรับรูปแบบใหม่ แล้วบันทึกลงแฟ้ม scores_table.txt ในรูปแบบตารางข้างล่างนี้ +------------+------------+------------+ | ID| Mid (30)| Final (100)| +------------+------------+------------+ | P49203| 25| 45| | P44949| 5| 100| | P50392x| 29| 48| | P52812a1| 27| 8| +------------+------------+------------+ ให้สังเกตว่า - ความกว้างของแต่ละคอลัมน์เท่ากับ 12 ไม่รวมตัวขีดแนวตั้ง | - ข้อมูลแต่ละคอลัมน์วางชิดขวาสุดของคอลัมน์ ไม่มีช่องว่างทางขวา - ข้อมูลแต่ละส่วนในแฟ้มมีขนาดไม่เกิน 12 ตัวแน่ ๆSolution: def format(s): return (' '*12 + s)[-12:] dash_line = ('+' + '-'*12)*3 + '+\n' t = dash_line header = True f = open('scores.txt') for line in f: x = [e.strip() for e in line.split(',')] t += '|' + format(x[0]) + \ '|' + format(x[1]) + \ '|' + format(x[2]) + '|\n' if header: t += dash_line header = False t += dash_line f.close() f = open('scores_table.txt', 'w') f.write(t) f.close() |
<1> |
แฟ้ม scores.txt เก็บคะแนนกลางภาคและปลายภาคของนักเรียน ข้อมูลภายในคั่นด้วย comma (,) อาจมีช่องว่างด้วย เช่น ID, Mid (30),Final (100) P49203, 25, 45 P44949, 5, 100 P50392x, 29,48 P52812a1,27, 8 จงเขียนโปรแกรมอ่านแฟ้มนี้ มาปรับรูปแบบใหม่ แล้วบันทึกลงแฟ้ม scores_table.txt ในรูปแบบตารางข้างล่างนี้ +------------+------------+------------+ |ID |Mid (30) |Final (100) | +------------+------------+------------+ |P49203 |25 |45 | |P44949 |5 |100 | |P50392x |29 |48 | |P52812a1 |27 |8 | +------------+------------+------------+ ให้สังเกตว่า - ความกว้างของแต่ละคอลัมน์เท่ากับ 12 ไม่รวมตัวขีดแนวตั้ง | - ข้อมูลแต่ละคอลัมน์วางชิดซ้ายสุดของคอลัมน์ ไม่มีช่องว่างทางซ้าย - ข้อมูลแต่ละส่วนในแฟ้มมีขนาดไม่เกิน 12 ตัวแน่ ๆSolution: def format(s): return (s+' '*12)[:12] dash_line = ('+' + '-'*12)*3 + '+\n' t = dash_line header = True f = open('scores.txt') for line in f: x = [e.strip() for e in line.split(',')] t += '|' + format(x[0]) + \ '|' + format(x[1]) + \ '|' + format(x[2]) + '|\n' if header: t += dash_line header = False t += dash_line f.close() f = open('scores_table.txt', 'w') f.write(t) f.close() |
<1> |
แฟ้ม scores.txt เก็บคะแนนกลางภาคและปลายภาคของนักเรียน ข้อมูลภายในคั่นด้วย comma (,) อาจมีช่องว่างด้วย เช่น ID, Mid (30),Final (100) P49203, 25, 45 P44949, 5, 100 P50392x, 29,48 P52812a1,27, 8 จงเขียนโปรแกรมอ่านแฟ้มนี้ มาปรับรูปแบบใหม่ แล้วบันทึกลงแฟ้ม scores_table.txt ในรูปแบบตารางข้างล่างนี้ +-------------+-------------+-------------+ | ID| Mid (30)| Final (100)| +-------------+-------------+-------------+ | P49203| 25| 45| | P44949| 5| 100| | P50392x| 29| 48| | P52812a1| 27| 8| +-------------+-------------+-------------+ ให้สังเกตว่า - ความกว้างของแต่ละคอลัมน์เท่ากับ 13 ไม่รวมตัวขีดแนวตั้ง | - ข้อมูลแต่ละคอลัมน์วางชิดขวาสุดของคอลัมน์ ไม่มีช่องว่างทางขวา - ข้อมูลแต่ละส่วนในแฟ้มมีขนาดไม่เกิน 13 ตัวแน่ ๆSolution: def format(s): return (' '*13 + s)[-13:] dash_line = ('+' + '-'*13)*3 + '+\n' t = dash_line header = True f = open('scores.txt') for line in f: x = [e.strip() for e in line.split(',')] t += '|' + format(x[0]) + \ '|' + format(x[1]) + \ '|' + format(x[2]) + '|\n' if header: t += dash_line header = False t += dash_line f.close() f = open('scores_table.txt', 'w') f.write(t) f.close() |
<1> |
แฟ้ม scores.txt เก็บคะแนนกลางภาคและปลายภาคของนักเรียน ข้อมูลภายในคั่นด้วย comma (,) อาจมีช่องว่างด้วย เช่น ID, Mid (30),Final (100) P49203, 25, 45 P44949, 5, 100 P50392x, 29,48 P52812a1,27, 8 จงเขียนโปรแกรมอ่านแฟ้มนี้ มาปรับรูปแบบใหม่ แล้วบันทึกลงแฟ้ม scores_table.txt ในรูปแบบตารางข้างล่างนี้ +-------------+-------------+-------------+ |ID |Mid (30) |Final (100) | +-------------+-------------+-------------+ |P49203 |25 |45 | |P44949 |5 |100 | |P50392x |29 |48 | |P52812a1 |27 |8 | +-------------+-------------+-------------+ ให้สังเกตว่า - ความกว้างของแต่ละคอลัมน์เท่ากับ 13 ไม่รวมตัวขีดแนวตั้ง | - ข้อมูลแต่ละคอลัมน์วางชิดซ้ายสุดของคอลัมน์ ไม่มีช่องว่างทางซ้าย - ข้อมูลแต่ละส่วนในแฟ้มมีขนาดไม่เกิน 13 ตัวแน่ ๆSolution: def format(s): return (s+' '*13)[:13] dash_line = ('+' + '-'*13)*3 + '+\n' t = dash_line header = True f = open('scores.txt') for line in f: x = [e.strip() for e in line.split(',')] t += '|' + format(x[0]) + \ '|' + format(x[1]) + \ '|' + format(x[2]) + '|\n' if header: t += dash_line header = False t += dash_line f.close() f = open('scores_table.txt', 'w') f.write(t) f.close() |
<1> |
แฟ้ม scores.txt เก็บคะแนนกลางภาคและปลายภาคของนักเรียน ข้อมูลภายในคั่นด้วย comma (,) อาจมีช่องว่างด้วย เช่น ID, Mid (30),Final (100) P49203, 25, 45 P44949, 5, 100 P50392x, 29,48 P52812a1,27, 8 จงเขียนโปรแกรมอ่านแฟ้มนี้ มาปรับรูปแบบใหม่ แล้วบันทึกลงแฟ้ม scores_table.txt ในรูปแบบตารางข้างล่างนี้ +-----------+-----------+-----------+ | ID| Mid (30)|Final (100)| +-----------+-----------+-----------+ | P49203| 25| 45| | P44949| 5| 100| | P50392x| 29| 48| | P52812a1| 27| 8| +-----------+-----------+-----------+ ให้สังเกตว่า - ความกว้างของแต่ละคอลัมน์เท่ากับ 11 ไม่รวมตัวขีดแนวตั้ง | - ข้อมูลแต่ละคอลัมน์วางชิดขวาสุดของคอลัมน์ ไม่มีช่องว่างทางขวา - ข้อมูลแต่ละส่วนในแฟ้มมีขนาดไม่เกิน 11 ตัวแน่ ๆSolution: def format(s): return (' '*11 + s)[-11:] dash_line = ('+' + '-'*11)*3 + '+\n' t = dash_line header = True f = open('scores.txt') for line in f: x = [e.strip() for e in line.split(',')] t += '|' + format(x[0]) + \ '|' + format(x[1]) + \ '|' + format(x[2]) + '|\n' if header: t += dash_line header = False t += dash_line f.close() f = open('scores_table.txt', 'w') f.write(t) f.close() |
<1> |
แฟ้ม scores.txt เก็บคะแนนกลางภาคและปลายภาคของนักเรียน ข้อมูลภายในคั่นด้วย comma (,) อาจมีช่องว่างด้วย เช่น ID, Mid (30),Final (100) P49203, 25, 45 P44949, 5, 100 P50392x, 29,48 P52812a1,27, 8 จงเขียนโปรแกรมอ่านแฟ้มนี้ มาปรับรูปแบบใหม่ แล้วบันทึกลงแฟ้ม scores_table.txt ในรูปแบบตารางข้างล่างนี้ +-----------+-----------+-----------+ |ID |Mid (30) |Final (100)| +-----------+-----------+-----------+ |P49203 |25 |45 | |P44949 |5 |100 | |P50392x |29 |48 | |P52812a1 |27 |8 | +-----------+-----------+-----------+ ให้สังเกตว่า - ความกว้างของแต่ละคอลัมน์เท่ากับ 11 ไม่รวมตัวขีดแนวตั้ง | - ข้อมูลแต่ละคอลัมน์วางชิดซ้ายสุดของคอลัมน์ ไม่มีช่องว่างทางซ้าย - ข้อมูลแต่ละส่วนในแฟ้มมีขนาดไม่เกิน 11 ตัวแน่ ๆSolution: def format(s): return (s+' '*11)[:11] dash_line = ('+' + '-'*11)*3 + '+\n' t = dash_line header = True f = open('scores.txt') for line in f: x = [e.strip() for e in line.split(',')] t += '|' + format(x[0]) + \ '|' + format(x[1]) + \ '|' + format(x[2]) + '|\n' if header: t += dash_line header = False t += dash_line f.close() f = open('scores_table.txt', 'w') f.write(t) f.close() |
<2> |
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม - ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาบวกกัน เช่น x0 = [1,2,3,4] จะได้ x1 = [1+2, 2+3, 3+4] = [3,5,7] - ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาบวกกัน ต่อจากตัวอย่างที่แล้ว ได้ x2 = [3+5, 5+7] = [8,12] - ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาบวกกัน ต่อจากตัวอย่างที่แล้ว ได้ x3 = [8+12] = [20] - แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว จงเขียนฟังก์ชัน f(x0) ที่ - รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว - คืนลิสต์ซ้อนลิสต์ [x0, x1, x2, ..., xk] โดยที่ x1, x2, ... หาได้ด้วยวิธีข้างต้น xk คือลิสต์ที่เหลือแค่ตัวเดียว เช่น f([1, 2, 3, 4]) ได้ [[1, 2, 3, 4], [3, 5, 7], [8, 12], [20]]Solution: def f(x0): z = [x0] for i in range(1,len(x0)): x = z[-1] z.append([x[j]+x[j+1] for j in range(len(x)-1)]) return z |
<2> |
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม - ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาบวกกัน เช่น x0 = [1,2,3,4] จะได้ x1 = [1+2, 2+3, 3+4] = [3,5,7] - ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาบวกกัน ต่อจากตัวอย่างที่แล้ว ได้ x2 = [3+5, 5+7] = [8,12] - ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาบวกกัน ต่อจากตัวอย่างที่แล้ว ได้ x3 = [8+12] = [20] - แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว จงเขียนฟังก์ชัน f(x0) ที่ - รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว - คืนลิสต์ซ้อนลิสต์ [xk, ..., x2, x1, x0] โดยที่ x1, x2, ... หาได้ด้วยวิธีข้างต้น xk คือลิสต์ที่เหลือแค่ตัวเดียว เช่น f([1, 2, 3, 4]) ได้ [[20], [8, 12], [3, 5, 7], [1, 2, 3, 4]]Solution: def f(x0): z = [x0] for i in range(1,len(x0)): x = z[0] z.insert(0,[x[j]+x[j+1] for j in range(len(x)-1)]) return z |
<2> |
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม - ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาคูณกัน เช่น x0 = [1,2,3,4] จะได้ x1 = [1*2, 2*3, 3*4] = [2,6,12] - ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาคูณกัน ต่อจากตัวอย่างที่แล้ว ได้ x2 = [2*6, 6*12] = [12,72] - ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาคูณกัน ต่อจากตัวอย่างที่แล้ว ได้ x3 = [12*72] = [864] - แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว จงเขียนฟังก์ชัน f(x0) ที่ - รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว - คืนลิสต์ซ้อนลิสต์ [x0, x1, x2, ..., xk] โดยที่ x1, x2, ... หาได้ด้วยวิธีข้างต้น xk คือลิสต์ที่เหลือแค่ตัวเดียว เช่น f([1, 2, 3, 4]) ได้ [[1, 2, 3, 4], [2, 6, 12], [12, 72], [864]]Solution: def f(x0): z = [x0] for i in range(1,len(x0)): x = z[-1] z.append([x[j]*x[j+1] for j in range(len(x)-1)]) return z |
<2> |
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม - ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาคูณกัน เช่น x0 = [1,2,3,4] จะได้ x1 = [1*2, 2*3, 3*4] = [2,6,12] - ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาคูณกัน ต่อจากตัวอย่างที่แล้ว ได้ x2 = [2*6, 6*12] = [12,72] - ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาคูณกัน ต่อจากตัวอย่างที่แล้ว ได้ x3 = [12*72] = [864] - แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว จงเขียนฟังก์ชัน f(x0) ที่ - รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว - คืนลิสต์ซ้อนลิสต์ [xk, ..., x2, x1, x0] โดยที่ x1, x2, ... หาได้ด้วยวิธีข้างต้น xk คือลิสต์ที่เหลือแค่ตัวเดียว เช่น f([1, 2, 3, 4]) ได้ [[864], [12, 72], [2, 6, 12], [1, 2, 3, 4]]Solution: def f(x0): z = [x0] for i in range(1,len(x0)): x = z[0] z.insert(0,[x[j]+x[j+1] for j in range(len(x)-1)]) return z |
<2> |
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม - ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาลบกัน เช่น x0 = [1,2,8,32] จะได้ x1 = [1-2, 2-8, 8-32] = [-1,-6,-24] - ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาลบกัน ต่อจากตัวอย่างที่แล้ว ได้ x2 = [-1-(-6), -6-(-24)] = [5,18] - ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาลบกัน ต่อจากตัวอย่างที่แล้ว ได้ x3 = [5-18] = [-13] - แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว จงเขียนฟังก์ชัน f(x0) ที่ - รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว - คืนลิสต์ซ้อนลิสต์ [x0, x1, x2, ..., xk] โดยที่ x1, x2, ... หาได้ด้วยวิธีข้างต้น xk คือลิสต์ที่เหลือแค่ตัวเดียว เช่น f([1, 2, 8, 32]) ได้ [[1, 2, 8, 32], [-1, -6, -24], [5, 18], [-13]]Solution: def f(x0): z = [x0] for i in range(1,len(x0)): x = z[-1] z.append([x[j]-x[j+1] for j in range(len(x)-1)]) return z |
<2> |
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม - ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาลบกัน เช่น x0 = [1,2,8,32] จะได้ x1 = [1-2, 2-3, 8-32] = [-1,-6,-24] - ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาลบกัน ต่อจากตัวอย่างที่แล้ว ได้ x2 = [-1-(-6), -6-(-24)] = [5,18] - ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาลบกัน ต่อจากตัวอย่างที่แล้ว ได้ x3 = [5-18] = [-13] - แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว จงเขียนฟังก์ชัน f(x0) ที่ - รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว - คืนลิสต์ซ้อนลิสต์ [xk, ..., x2, x1, x0] โดยที่ x1, x2, ... หาได้ด้วยวิธีข้างต้น xk คือลิสต์ที่เหลือแค่ตัวเดียว เช่น f([1, 2, 8, 32]) ได้ [[-13], [5, 18], [-1, -6, -24], [1, 2, 8, 32]]Solution: def f(x0): z = [x0] for i in range(1,len(x0)): x = z[0] z.insert(0,[x[j]-x[j+1] for j in range(len(x)-1)]) return z |