โปรแกรมข้างล่างนี้แสดง * กี่ตัว
for i in range(101):
for j in range(i,101):
print('*')
101*100/2 + 101 = 5151
โปรแกรมข้างล่างนี้แสดง * กี่ตัว
for i in range(101):
for j in range(i+1,101):
print('*')
101*100/2 = 5050
-------------------------------
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
<
><>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
<
><>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
<
><>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
<
><>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
<
><>
จงเขียนคำสั่งที่ทำงานตาม flowchart ข้างล่างนี้
<
><>
-------------------------------
จงเขียนฟังก์ชัน f(x) ที่รับ x เป็นจำนวนเต็ม
แล้วคืนว่ามีตัวเลข (digit) กี่ตัวใน x ที่เป็น
จำนวนคู่ เช่น f(123402) คืน 4
เพราะมีเลข 2, 4, 0 และ 2 เป็นจำนวนคู่
จงเขียนฟังก์ชัน f(x) ที่รับ x เป็นจำนวนเต็ม
แล้วคืนว่ามีตัวเลข (digit) กี่ตัวใน x ที่เป็น
จำนวนคี่ เช่น f(12399) คืน 4
เพราะมีเลข 1, 3, 9 และ 9 เป็นจำนวนคี่
จงเขียนฟังก์ชัน f(x) ที่รับ x เป็นจำนวนเต็ม
แล้วคืนว่ามีตัวเลข (digit) กี่ตัวใน x ที่มีค่า
เกิน 5 เช่น f(1639958) คืน 4
เพราะมีเลข 6, 9, 9 และ 8 มีค่าเกิน 5
จงเขียนฟังก์ชัน f(x) ที่รับ x เป็นจำนวนเต็ม
แล้วคืนว่ามีตัวเลข (digit) กี่ตัวใน x ที่มีค่า
น้อยกว่า 5 เช่น f(1633459) คืน 4
เพราะมีเลข 1, 3, 3 และ 4 มีค่าน้อยกว่า 5
-------------------------------
จงเขียนฟังก์ชัน f(x) ที่รับ x เป็นลิสต์เก็บ tuples
แต่ละ tuple มีสองช่องเก็บสตริงทั้งสองช่อง
ผลลัพธ์ที่ f คืนคือลิสต์ที่มีข้อมูลเหมือน x
แต่เรียงลำดับจากน้อยไปมาก (ซ้ายไปขวา)
ตามเงื่อนไขดังนี้
- เรียงน้อยไปมากตามจำนวนตัวสระอังกฤษที่มีซ้ำทั้งใน
สตริงสองตัวใน tuple (ถ้าสระตัวเดียวกันมีซ้ำหลายครั้ง
ให้นับครั้งเดียว)
- ถ้าจำนวนนับในข้อที่แล้วเท่ากัน
ให้เรียงตามลำดับที่ปรากฎใน x
- ให้ถือว่า ไม่มีตัวอักษรพิมพใหญ่ในสตริงเลย
เช่น
x = [('au','ua'),('ede','ee'),('aa','xa')]
ผลคือ [('ede','ee'),('aa','xa'),('au','ua')]
เพราะ
x[0] มี a กับ u เป็นตัวซ้ำ, x[1] มี e เป็นตัวซ้ำ และ
x[2] มี a เป็นตัวซ้ำ x[1] กับ x[2] มีจำนวนซ้ำเท่ากัน
แต่ x[1] อยู่ทางซ้ายของ x[2] ใน x
ดังนั้น x[1] จึงต้องอยู่ทางซ้ายของ x[2] ในผลลัพธ์
จงเขียนฟังก์ชัน f(x) ที่รับ x เป็นลิสต์เก็บ tuples
แต่ละ tuple มีสองช่องเก็บสตริงทั้งสองช่อง
ผลลัพธ์ที่ f คืนคือลิสต์ที่มีข้อมูลเหมือน x
แต่เรียงลำดับจากน้อยไปมาก (ซ้ายไปขวา)
ตามเงื่อนไขดังนี้
- เรียงน้อยไปมากตามจำนวนตัวเลขที่มีซ้ำทั้งใน
สตริงสองตัวใน tuple (ถ้าตัวเลขตัวเดียวกันมีซ้ำ
หลายครั้ง ให้นับครั้งเดียว)
- ถ้าจำนวนนับในข้อที่แล้วเท่ากัน
ให้เรียงตามลำดับที่ปรากฎใน x
เช่น
x = [('12','21'),('8d8','88'),('66','x6')]
ผลคือ [('8d8','88'),('66','x6'),('12','21')]
เพราะ
x[0] มี 1 กับ 2 เป็นตัวซ้ำ, x[1] มี 8 เป็นตัวซ้ำ และ
x[2] มี 6 เป็นตัวซ้ำ x[1] กับ x[2] มีจำนวนซ้ำเท่ากัน
แต่ x[1] อยู่ทางซ้ายของ x[2] ใน x
ดังนั้น x[1] จึงต้องอยู่ทางซ้ายของ x[2] ในผลลัพธ์
จงเขียนฟังก์ชัน f(x) ที่รับ x เป็นลิสต์เก็บ tuples
แต่ละ tuple มีสองช่องเก็บสตริงทั้งสองช่อง
ผลลัพธ์ที่ f คืนคือลิสต์ที่มีข้อมูลเหมือน x
แต่เรียงลำดับจากน้อยไปมาก (ซ้ายไปขวา)
ตามเงื่อนไขดังนี้
- เรียงน้อยไปมากตามจำนวนสระอังกฤษในสตริงทั้งสอง
ของ tuple (ถ้ามีสระซ้ำหลายตัว ให้นับครั้งเดียว)
- ถ้าจำนวนนับในข้อที่แล้วเท่ากัน
ให้เรียงตามลำดับที่ปรากฎใน x
- ให้ถือว่า ไม่มีตัวอักษรพิมพใหญ่ในสตริงเลย
เช่น
x = [('aq','ae'),('ax','xsa'),('ai','sia')]
ผลคือ [('ax','xsa'),('aq','ae'),('ai','sia')]
เพราะ
x[0] มี a กับ e, x[1] มี a และ x[2] มี a กับ i
x[0] กับ x[2] มีจำนวนสระเท่ากัน
แต่ x[0] อยู่ทางซ้ายของ x[2] ใน x
ดังนั้น x[0] จึงต้องอยู่ทางซ้ายของ x[2] ในผลลัพธ์
จงเขียนฟังก์ชัน f(x) ที่รับ x เป็นลิสต์เก็บ tuples
แต่ละ tuple มีสองช่องเก็บสตริงทั้งสองช่อง
ผลลัพธ์ที่ f คืนคือลิสต์ที่มีข้อมูลเหมือน x
แต่เรียงลำดับจากน้อยไปมาก (ซ้ายไปขวา)
ตามเงื่อนไขดังนี้
- เรียงน้อยไปมากตามจำนวนตัวเลขในสตริงทั้งสอง
ของ tuple (ถ้ามีตัวเลขซ้ำหลายตัว ให้นับครั้งเดียว)
- ถ้าจำนวนนับในข้อที่แล้วเท่ากัน
ให้เรียงตามลำดับที่ปรากฎใน x
เช่น
x = [('1x','21'),('4x','qs4'),('25','5i2')]
ผลคือ [('4x','qs4'),('1x','21'),('25','5i2')]
เพราะ
x[0] มี 1 กับ 2, x[1] มี 4 และ x[2] มี 2 กับ 5
x[0] กับ x[2] มีจำนวนตัวเลขเท่ากัน
แต่ x[0] อยู่ทางซ้ายของ x[2] ใน x
ดังนั้น x[0] จึงต้องอยู่ทางซ้ายของ x[2] ในผลลัพธ์
-------------------------------
source code ของภาษา Python ใช้เครื่องหมาย #
เป็นตัวระบุจุดเริ่มต้นของ comment ในบรรทัด เราสามารถ
เขียน # เป็นตัวแรกของบรรทัด (อาจนำหน้าด้วยช่องว่าง)
เสมือนให้ทั้งบรรทัดเป็น comment
จงเขียนโปรแกรมอ่านแฟ้ม prog.py เพื่อตัดบรรทัดที่เป็น
comment ออกทั้งบรรทัด แล้วนำผลที่ได้บันทึกในแฟ้ม out.py
เช่น prog.py มี code คือ
# sample
f = input() # user input
for e in f:
# a comment line
print(e, "###")
# done
จะได้ out.py มี code คือ
f = input() # user input
for e in f:
print(e, "###")
แฟ้มหนึ่งชื่อ in.txt มีข้อความหลายบรรทัด
บรรทัดไหนที่ขึ้นต้นด้วย -- (อาจมีช่องว่างนำหน้า)
หมายความว่า ผู้สร้างแฟ้ม ไม่สนใจบรรทัดนั้น ตัดออกได้
จงเขียนโปรแกรมอ่านแฟ้ม in.txt เพื่อตัดบรรทัดที่
ขึ้นต้นด้วย -- ออกทั้งบรรทัด แล้วนำผลที่ได้บันทึกในแฟ้ม out.txt
เช่น in.txt มีข้อมูลคือ
this is the first line
-- second line is not important
-- so is the third line
but this line is Okay
จะได้ out.txt มีข้อมูล คือ
this is the first line
but this line is Okay
แฟ้มหนึ่งชื่อ in.txt มีข้อความหลายบรรทัด
นาย A ไม่ชอบบรรทัดที่มีคำ (หรือส่วนของคำ) ว่า Mr.A
จงเขียนโปรแกรมอ่านแฟ้ม in.txt เพื่อตัดบรรทัดที่นาย A
ไม่ชอบออกทั้งบรรทัด แล้วนำผลที่ได้บันทึกในแฟ้ม out.txt
เช่น in.txt มีข้อมูลคือ
This is the story of my boss
whose name is Mr.A.
I call him "Mr.A The dude".
I don't like him.
จะได้ out.txt มีข้อมูล คือ
This is the story of my boss
I don't like him.
-------------------------------