แบบฝึกหัดภาษาปิยะธอน

แบบฝึกหัดภาษาปิยะธอนที่ 1

ให้พิมพ์ข้อมูลของตัวนักเรียนเองออกมาทีละบรรทัด ดังต่อไปนี้ รหัสนักเรียน ชื่อ นามสกุล และที่อยู่

รหัสนักเรียน = "66001"
ชื่อ = "สมชาย"
นามสกุล = "ใจดี"
ที่อยู่ = "123 ถ.สุขุมวิท กรุงเทพฯ"

พิมพ์(รหัสนักเรียน)
พิมพ์(ชื่อ)
พิมพ์(นามสกุล)
พิมพ์(ที่อยู่)

แบบฝึกหัดภาษาปิยะธอนที่ 2

ให้คำนวณหาค่าพื้นที่ของสามเหลี่ยม โดยกำหนดค่าฐาน คือ 5 เมตร และค่าความสูง คือ 10 เมตร

ฐาน = 5
สูง = 10
พื้นที่ = 0.5 * ฐาน * สูง

พิมพ์(f"พื้นที่สามเหลี่ยม = {พื้นที่} ตารางเมตร")

แบบฝึกหัดภาษาปิยะธอนที่ 3

ให้ผู้ใช้ป้อนเลขจำนวนเต็ม 3 จำนวน แล้วคำนวณหาค่าเฉลี่ย

เลข1 = จำนวนเต็ม(รับข้อมูล("ป้อนเลขที่ 1: "))
เลข2 = จำนวนเต็ม(รับข้อมูล("ป้อนเลขที่ 2: "))
เลข3 = จำนวนเต็ม(รับข้อมูล("ป้อนเลขที่ 3: "))

ค่าเฉลี่ย = (เลข1 + เลข2 + เลข3) / 3
พิมพ์(f"ค่าเฉลี่ย = {ค่าเฉลี่ย}")

แบบฝึกหัดภาษาปิยะธอนที่ 4

ให้ผู้ใช้ป้อนรัศมีและความสูง แล้วคำนวณหาปริมาตรของทรงกระบอก

พาย = 3.14
รัศมี = ทศนิยม(รับข้อมูล("ป้อนรัศมี: "))
สูง = ทศนิยม(รับข้อมูล("ป้อนความสูง: "))

ปริมาตร = พาย * รัศมี * รัศมี * สูง
พิมพ์(f"ปริมาตรทรงกระบอก = {ปริมาตร} ลูกบาศก์เมตร")

แบบฝึกหัดภาษาปิยะธอนที่ 5

ให้คำนวณหามุมที่เหลือของสามเหลี่ยม โดยรับค่ามุมจากผู้ใช้มา 2 ค่า

มุม1 = ทศนิยม(รับข้อมูล("ป้อนมุมที่ 1: "))
มุม2 = ทศนิยม(รับข้อมูล("ป้อนมุมที่ 2: "))

มุม3 = 180 - มุม1 - มุม2
พิมพ์(f"มุมที่เหลือ = {มุม3} องศา")

แบบฝึกหัดภาษาปิยะธอนที่ 6

เขียนโปรแกรมที่แจ้งให้ผู้ใช้ป้อนตัวเลขสองตัว แล้วแสดงข้อความ "ค่าบวก" หรือ "ไม่ใช่ค่าบวก"

เลข1 = ทศนิยม(รับข้อมูล("ป้อนเลขที่ 1: "))
เลข2 = ทศนิยม(รับข้อมูล("ป้อนเลขที่ 2: "))

ถ้า เลข1 > 0 และ เลข2 > 0:
    พิมพ์("ค่าบวก")
อื่น:
    พิมพ์("ไม่ใช่ค่าบวก")

แบบฝึกหัดภาษาปิยะธอนที่ 7

เขียนโปรแกรมที่แจ้งให้ผู้ใช้ป้อนค่าอุณหภูมิสามค่า

อุณหภูมิ1 = ทศนิยม(รับข้อมูล("ป้อนอุณหภูมิที่ 1: "))
อุณหภูมิ2 = ทศนิยม(รับข้อมูล("ป้อนอุณหภูมิที่ 2: "))
อุณหภูมิ3 = ทศนิยม(รับข้อมูล("ป้อนอุณหภูมิที่ 3: "))

ค่าเฉลี่ย = (อุณหภูมิ1 + อุณหภูมิ2 + อุณหภูมิ3) / 3

ถ้า ค่าเฉลี่ย > 40:
    พิมพ์("คลื่นความร้อนทำงาน")
อื่น:
    พิมพ์("อุณหภูมิปกติ")

แบบฝึกหัดภาษาปิยะธอนที่ 8

ให้ผู้ใช้ป้อนค่า x แล้วนำค่านั้นมาคำนวณ x1+x2+x3+x4+x5 โดยใช้คำสั่ง "สำหรับ"

x = ทศนิยม(รับข้อมูล("ป้อนค่า x: "))
ผลรวม = 0

สำหรับ i ใน ช่วง(1, 6):
    ผลรวม += x ** i

พิมพ์(f"ผลรวม = {ผลรวม}")

แบบฝึกหัดภาษาปิยะธอนที่ 9

ให้ผู้ใช้ป้อนค่าจำนวนเต็มบวกหนึ่งค่า และให้แสดงเลขเริ่มที่จำนวนเต็มนั้น โดยลดลงทีละหนึ่ง จนถึงเลข 1

เลข = จำนวนเต็ม(รับข้อมูล("ป้อนเลข: "))

ขณะ เลข >= 1:
    พิมพ์(เลข)
    เลข -= 1

แบบฝึกหัดภาษาปิยะธอนที่ 10

จงเขียนฟังก์ชันเพื่อรับค่าตัวเลขจำนวนเต็มจากผู้ใช้ แล้วนำค่ามาเก็บไว้ในตัวแปรประเภท List

นิยาม คำนวณกำลังสอง():
    ตัวเลข = []
    จำนวน = จำนวนเต็ม(รับข้อมูล("ป้อนจำนวนตัวเลข: "))

    สำหรับ _ ใน ช่วง(จำนวน):
        เลข = จำนวนเต็ม(รับข้อมูล("ป้อนตัวเลข: "))
        ตัวเลข.เพิ่ม(เลข)

    ผลคูณ = 1
    สำหรับ เลข ใน ตัวเลข:
        ผลคูณ *= เลข ** 2

    คืนค่า ผลคูณ

ผลลัพธ์ = คำนวณกำลังสอง()
พิมพ์(f"ผลคูณของกำลังสอง = {ผลลัพธ์}")

แบบฝึกหัดภาษาปิยะธอนที่ 11

ให้ผู้ใช้ป้อนราคาสินค้าและจำนวนเงินที่ลูกค้าจ่าย แล้วคำนวณเงินทอน พร้อมแสดงผลออกมา

ราคา = ทศนิยม(รับข้อมูล("ป้อนราคาสินค้า: "))
เงินจ่าย = ทศนิยม(รับข้อมูล("ป้อนจำนวนเงินที่จ่าย: "))

เงินทอน = เงินจ่าย - ราคา
พิมพ์(f"เงินทอน = {เงินทอน} บาท")

แบบฝึกหัดภาษาปิยะธอนที่ 12

เขียนโปรแกรมรับค่าน้ำหนักและส่วนสูง แล้วคำนวณค่าดัชนีมวลกาย (BMI) โดยใช้สูตร น้ำหนัก (กิโลกรัม) หารด้วยส่วนสูง (เมตร) ยกกำลังสอง

น้ำหนัก = ทศนิยม(รับข้อมูล("ป้อนน้ำหนัก (กก.): "))
ส่วนสูง = ทศนิยม(รับข้อมูล("ป้อนส่วนสูง (ม.): "))

ดัชนีมวลกาย = น้ำหนัก / (ส่วนสูง ** 2)
พิมพ์(f"ค่าดัชนีมวลกาย (BMI) = {ดัชนีมวลกาย:.2f}")

แบบฝึกหัดภาษาปิยะธอนที่ 13

ให้ผู้ใช้ป้อนคะแนนสอบ 5 วิชา แล้วคำนวณหาค่าเฉลี่ย และแสดงเกรดตามเงื่อนไข: คะแนนมากกว่า 80 ได้ A, 70-79 ได้ B, 60-69 ได้ C, 50-59 ได้ D, ต่ำกว่า 50 ได้ F

คะแนนรวม = 0
สำหรับ i ใน ช่วง(5):
    คะแนน = ทศนิยม(รับข้อมูล(f"ป้อนคะแนนวิชาที่ {i+1}: "))
    คะแนนรวม += คะแนน

เฉลี่ย = คะแนนรวม / 5

ถ้า เฉลี่ย > 80:
    เกรด = "A"
อื่นถ้า เฉลี่ย >= 70:
    เกรด = "B"
อื่นถ้า เฉลี่ย >= 60:
    เกรด = "C"
อื่นถ้า เฉลี่ย >= 50:
    เกรด = "D"
อื่น:
    เกรด = "F"

พิมพ์(f"คะแนนเฉลี่ย = {เฉลี่ย:.2f}")
พิมพ์(f"เกรด = {เกรด}")

แบบฝึกหัดภาษาปิยะธอนที่ 14

เขียนโปรแกรมคำนวณค่าไฟฟ้า โดยรับจำนวนหน่วยที่ใช้ และคิดราคาดังนี้: 0-50 หน่วย คิดหน่วยละ 3 บาท, 51-100 หน่วย คิดหน่วยละ 4 บาท, มากกว่า 100 หน่วย คิดหน่วยละ 5 บาท

หน่วย = จำนวนเต็ม(รับข้อมูล("ป้อนจำนวนหน่วยไฟฟ้า: "))
ค่าไฟ = 0

ถ้า หน่วย <= 50:
    ค่าไฟ = หน่วย * 3
อื่นถ้า หน่วย <= 100:
    ค่าไฟ = (50 * 3) + ((หน่วย - 50) * 4)
อื่น:
    ค่าไฟ = (50 * 3) + (50 * 4) + ((หน่วย - 100) * 5)

พิมพ์(f"ค่าไฟฟ้า = {ค่าไฟ} บาท")

แบบฝึกหัดภาษาปิยะธอนที่ 15

ให้เขียนฟังก์ชันรับค่าตัวเลขหนึ่งจำนวน แล้วตรวจสอบว่าเป็นจำนวนเฉพาะหรือไม่

นิยาม เป็นจำนวนเฉพาะ(เลข):
    ถ้า เลข < 2:
        คืนค่า เท็จ

    สำหรับ i ใน ช่วง(2, จำนวนเต็ม(เลข ** 0.5) + 1):
        ถ้า เลข % i == 0:
            คืนค่า เท็จ

    คืนค่า จริง

เลข = จำนวนเต็ม(รับข้อมูล("ป้อนตัวเลข: "))
ถ้า เป็นจำนวนเฉพาะ(เลข):
    พิมพ์(f"{เลข} เป็นจำนวนเฉพาะ")
อื่น:
    พิมพ์(f"{เลข} ไม่เป็นจำนวนเฉพาะ")

แบบฝึกหัดภาษาปิยะธอนที่ 16

เขียนโปรแกรมสร้างรูปสามเหลี่ยมด้วยเครื่องหมาย * โดยรับค่าความสูงของสามเหลี่ยมจากผู้ใช้

สูง = จำนวนเต็ม(รับข้อมูล("ป้อนความสูงของสามเหลี่ยม: "))

สำหรับ i ใน ช่วง(สูง):
    ช่องว่าง = " " * (สูง - i - 1)
    ดาว = "*" * (2 * i + 1)
    พิมพ์(ช่องว่าง + ดาว)

แบบฝึกหัดภาษาปิยะธอนที่ 17

ให้ผู้ใช้ป้อนข้อความหนึ่งประโยค แล้วนับจำนวนตัวอักษร ตัวเลข และช่องว่างในประโยคนั้น

ข้อความ = รับข้อมูล("ป้อนข้อความ: ")
ตัวอักษร = 0
ตัวเลข = 0
ช่องว่าง = 0

สำหรับ ตัว ใน ข้อความ:
    ถ้า ตัว.isalpha():
        ตัวอักษร += 1
    อื่นถ้า ตัว.isdigit():
        ตัวเลข += 1
    อื่นถ้า ตัว.isspace():
        ช่องว่าง += 1

พิมพ์(f"จำนวนตัวอักษร: {ตัวอักษร}")
พิมพ์(f"จำนวนตัวเลข: {ตัวเลข}")
พิมพ์(f"จำนวนช่องว่าง: {ช่องว่าง}")

แบบฝึกหัดภาษาปิยะธอนที่ 18

เขียนโปรแกรมสร้างรูปสามเหลี่ยมด้วยเครื่องหมาย * โดยรับค่าความสูงของสามเหลี่ยมจากผู้ใช้

สูง = จำนวนเต็ม(รับข้อมูล("ป้อนความสูงของสามเหลี่ยม: "))

สำหรับ i ใน ช่วง(สูง):
    ช่องว่าง = " " * (สูง - i - 1)
    ดาว = "*" * (2 * i + 1)
    พิมพ์(ช่องว่าง + ดาว)

แบบฝึกหัดภาษาปิยะธอนที่ 19

ให้เขียนฟังก์ชันรับค่าตัวเลขสองจำนวน แล้วหาค่า ห.ร.ม. (หารร่วมมาก) ของจำนวนทั้งสอง

นิยาม หารร่วมมาก(a, b):
    ขณะ b != 0:
        a, b = b, a % b
    คืนค่า a

เลข1 = จำนวนเต็ม(รับข้อมูล("ป้อนเลขที่ 1: "))
เลข2 = จำนวนเต็ม(รับข้อมูล("ป้อนเลขที่ 2: "))

ผลลัพธ์ = หารร่วมมาก(เลข1, เลข2)
พิมพ์(f"ห.ร.ม. ของ {เลข1} และ {เลข2} คือ {ผลลัพธ์}")

แบบฝึกหัดภาษาปิยะธอนที่ 20

เขียนโปรแกรมรับค่าอุณหภูมิในหน่วยเซลเซียส แล้วแปลงเป็นฟาเรนไฮต์และเคลวิน พร้อมแสดงผลทั้งสามหน่วย

เซลเซียส = ทศนิยม(รับข้อมูล("ป้อนอุณหภูมิ (°C): "))

ฟาเรนไฮต์ = (เซลเซียส * 9/5) + 32
เคลวิน = เซลเซียส + 273.15

พิมพ์(f"เซลเซียส: {เซลเซียส}°C")
พิมพ์(f"ฟาเรนไฮต์: {ฟาเรนไฮต์}°F")
พิมพ์(f"เคลวิน: {เคลวิน}K")

แบบฝึกหัดภาษาปิยะธอนที่ 21

ให้ผู้ใช้ป้อนจำนวนวินาที แล้วแปลงเป็นชั่วโมง นาที วินาที เช่น 3665 วินาที = 1 ชั่วโมง 1 นาที 5 วินาที

วินาที = จำนวนเต็ม(รับข้อมูล("ป้อนจำนวนวินาที: "))

ชั่วโมง = วินาที // 3600
วินาที_เหลือ = วินาที % 3600
นาที = วินาที_เหลือ // 60
วินาที_สุดท้าย = วินาที_เหลือ % 60

พิมพ์(f"{ชั่วโมง} ชั่วโมง {นาที} นาที {วินาที_สุดท้าย} วินาที")

แบบฝึกหัดภาษาปิยะธอนที่ 22

เขียนโปรแกรมจำลองการทอยลูกเต๋า n ครั้ง (รับค่า n จากผู้ใช้) แล้วแสดงความถี่ของแต่ละหน้าที่ออก

จาก สุ่ม นำเข้า randint

จำนวนครั้ง = จำนวนเต็ม(รับข้อมูล("ป้อนจำนวนครั้งที่ต้องการทอย: "))
ความถี่ = [0] * 6

สำหรับ _ ใน ช่วง(จำนวนครั้ง):
    ผล = randint(1, 6)
    ความถี่[ผล - 1] += 1

สำหรับ i ใน ช่วง(6):
    พิมพ์(f"หน้า {i + 1}: {ความถี่[i]} ครั้ง")

แบบฝึกหัดภาษาปิยะธอนที่ 23

ให้เขียนฟังก์ชันรับค่าตัวเลขหนึ่งจำนวน แล้วแสดงผลตัวเลขนั้นในรูปแบบเลขโรมัน

นิยาม แปลงเป็นเลขโรมัน(เลข):
    ค่า = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
    สัญลักษณ์ = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"]
    ผลลัพธ์ = ""

    สำหรับ i ใน ช่วง(ความยาว(ค่า)):
        ขณะ เลข >= ค่า[i]:
            ผลลัพธ์ += สัญลักษณ์[i]
            เลข -= ค่า[i]

    คืนค่า ผลลัพธ์

เลข = จำนวนเต็ม(รับข้อมูล("ป้อนตัวเลข: "))
พิมพ์(f"เลขโรมัน: {แปลงเป็นเลขโรมัน(เลข)}")

แบบฝึกหัดภาษาปิยะธอนที่ 24

เขียนโปรแกรมรับค่าจำนวนเงินบาท แล้วคำนวณจำนวนธนบัตรและเหรียญที่ต้องใช้ (1000, 500, 100, 50, 20, 10, 5, 2, 1 บาท)

เงิน = จำนวนเต็ม(รับข้อมูล("ป้อนจำนวนเงิน: "))
หน่วยเงิน = [1000, 500, 100, 50, 20, 10, 5, 2, 1]

สำหรับ หน่วย ใน หน่วยเงิน:
    จำนวน = เงิน // หน่วย
    ถ้า จำนวน > 0:
        พิมพ์(f"{หน่วย} บาท: {จำนวน}")
        เงิน = เงิน % หน่วย

แบบฝึกหัดภาษาปิยะธอนที่ 25

ให้ผู้ใช้ป้อนคำหนึ่งคำ แล้วตรวจสอบว่าเป็นคำพาลินโดรม (อ่านจากซ้ายไปขวาและขวาไปซ้ายได้คำเดียวกัน) หรือไม่

คำ = รับข้อมูล("ป้อนคำ: ")
คำกลับด้าน = คำ[::-1]

ถ้า คำ == คำกลับด้าน:
    พิมพ์(f"{คำ} เป็นคำพาลินโดรม")
อื่น:
    พิมพ์(f"{คำ} ไม่เป็นคำพาลินโดรม")

แบบฝึกหัดภาษาปิยะธอนที่ 26

เขียนโปรแกรมคำนวณค่างวดผ่อนรถ โดยรับราคารถ, เงินดาวน์ และจำนวนงวดแล้วคำนวณค่างวดต่อเดือน (คิดดอกเบี้ย 3% ต่อปี)

ราคารถ = ทศนิยม(รับข้อมูล("ป้อนราคารถ: "))
เงินดาวน์ = ทศนิยม(รับข้อมูล("ป้อนเงินดาวน์: "))
จำนวนงวด = จำนวนเต็ม(รับข้อมูล("ป้อนจำนวนงวด: "))

เงินต้น = ราคารถ - เงินดาวน์
ดอกเบี้ยต่อปี = 0.03
ดอกเบี้ยต่อเดือน = ดอกเบี้ยต่อปี / 12
ค่างวด = (เงินต้น * (1 + ดอกเบี้ยต่อปี)) / จำนวนงวด

พิมพ์(f"ค่างวดต่อเดือน = {ค่างวด:.2f} บาท")

แบบฝึกหัดภาษาปิยะธอนที่ 27

ให้เขียนฟังก์ชันรับค่าตัวเลขหนึ่งจำนวน แล้วแสดงผลเลขฟีโบนักชีจนถึงตำแหน่งที่กำหนด

นิยาม ฟีโบนักชี(n):
    ถ้า n <= 0:
        คืนค่า []
    ถ้า n == 1:
        คืนค่า [0]
    ถ้า n == 2:
        คืนค่า [0, 1]

    ลำดับ = [0, 1]
    สำหรับ i ใน ช่วง(2, n):
        ลำดับ.เพิ่ม(ลำดับ[i-1] + ลำดับ[i-2])

    คืนค่า ลำดับ

n = จำนวนเต็ม(รับข้อมูล("ป้อนตำแหน่งสุดท้าย: "))
ผลลัพธ์ = ฟีโบนักชี(n)
พิมพ์(f"ลำดับฟีโบนักชี: {ผลลัพธ์}")

แบบฝึกหัดภาษาปิยะธอนที่ 28

เขียนโปรแกรมรับข้อมูลนักเรียน (รหัส, ชื่อ, คะแนน) หลายคน เก็บในรูปแบบ Dictionary แล้วแสดงข้อมูลนักเรียนที่ได้คะแนนสูงสุด

นักเรียน = {}
จำนวน = จำนวนเต็ม(รับข้อมูล("ป้อนจำนวนนักเรียน: "))

สำหรับ i ใน ช่วง(จำนวน):
    รหัส = รับข้อมูล(f"ป้อนรหัสนักเรียนที่ {i+1}: ")
    ชื่อ = รับข้อมูล(f"ป้อนชื่อนักเรียน: ")
    คะแนน = จำนวนเต็ม(รับข้อมูล(f"ป้อนคะแนน: "))
    นักเรียน[รหัส] = {"ชื่อ": ชื่อ, "คะแนน": คะแนน}

คะแนนสูงสุด = max(นักเรียน.values(), key=lambda x: x["คะแนน"])
สำหรับ รหัส, ข้อมูล ใน นักเรียน.items():
    ถ้า ข้อมูล["คะแนน"] == คะแนนสูงสุด["คะแนน"]:
        พิมพ์(f"นักเรียนที่ได้คะแนนสูงสุด:")
        พิมพ์(f"รหัส: {รหัส}")
        พิมพ์(f"ชื่อ: {ข้อมูล['ชื่อ']}")
        พิมพ์(f"คะแนน: {ข้อมูล['คะแนน']}")

แบบฝึกหัดภาษาปิยะธอนที่ 29

ให้ผู้ใช้ป้อนจำนวนเงินเริ่มต้นและอัตราดอกเบี้ยต่อปี แล้วคำนวณว่าต้องใช้เวลากี่ปีเงินจึงจะเพิ่มเป็น 2 เท่า

เงินต้น = ทศนิยม(รับข้อมูล("ป้อนเงินเริ่มต้น: "))
ดอกเบี้ย = ทศนิยม(รับข้อมูล("ป้อนอัตราดอกเบี้ยต่อปี (%): ")) / 100

เป้าหมาย = เงินต้น * 2
ปี = 0
เงินปัจจุบัน = เงินต้น

ขณะ เงินปัจจุบัน < เป้าหมาย:
    เงินปัจจุบัน *= (1 + ดอกเบี้ย)
    ปี += 1

พิมพ์(f"ต้องใช้เวลา {ปี} ปี")

แบบฝึกหัดภาษาปิยะธอนที่ 30

เขียนโปรแกรมสร้างเกมทายตัวเลข โดยสุ่มตัวเลข 1-100 แล้วให้ผู้เล่นทาย พร้อมบอกใบ้ว่ามากไปหรือน้อยไป จนกว่าจะทายถูก

จาก สุ่ม นำเข้า randint

เลขที่ถูก = randint(1, 100)
ครั้งที่ทาย = 0

ขณะ จริง:
    คำตอบ = จำนวนเต็ม(รับข้อมูล("ทายตัวเลข (1-100): "))
    ครั้งที่ทาย += 1

    ถ้า คำตอบ == เลขที่ถูก:
        พิมพ์(f"ถูกต้อง! คุณทายถูกในครั้งที่ {ครั้งที่ทาย}")
        หยุด
    อื่นถ้า คำตอบ < เลขที่ถูก:
        พิมพ์("น้อยไป ลองใหม่")
    อื่น:
        พิมพ์("มากไป ลองใหม่")