Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. โปรแกรมตรวจสอบหมายเลขบัตรเครดิตว่าถูกต้องหรือไม่ใน Python

    การตรวจสอบความถูกต้องของหมายเลขบัตรเครดิต เงื่อนไขบัตรเครดิตที่ถูกต้อง: ขึ้นต้นด้วย 4, 5, หรือ 6 ยาว 16 หลัก ประกอบด้วยตัวเลขเท่านั้น อาจมีเครื่องหมาย - แยกเป็น 4 กลุ่ม กลุ่มละ 4 หลัก ไม่มีตัวคั่นอื่น (space, underscore) ไม่มีเลขซ้ำ 4 ตัวติดกัน อัลกอริทึม ถ้ามี -: แยกกลุ่ม ตรวจสอบ 4 กลุ่ม กลุ่มล

  2. โปรแกรมหมุนสตริงขนาด n ไปซ้าย n ครั้งใน Python

    การหมุนสตริงซ้าย n ครั้ง (n = ความยาวสตริง) สร้างรายการของสตริงที่หมุนซ้าย 1, 2, ..., n ตำแหน่ง อัลกอริทึม res = [], n = len(s) วน i = 0 ถึง n-1: s = s[1:] + s[0] (หมุนซ้าย 1 ตำแหน่ง) เพิ่ม s ลง res คืนค่า res ตัวอย่างโค้ด def solve(s): res = [] n = len(s) for i in ran

  3. โปรแกรมลบตัวอักษรซ้ำจากสตริงใน Python

    การลบตัวอักษรซ้ำจากสตริง (เก็บลำดับเดิม) ลบตัวอักษรที่ซ้ำกันออกไป เก็บเฉพาะครั้งแรกที่ปรากฏ รักษาลำดับเดิม อัลกอริทึม (ใช้ OrderedDict) สร้าง OrderedDict ว่าง d วนลูปตัวอักษร c ใน s: ถ้า c ไม่อยู่ใน d: d[c] = 0 d[c] += 1 (นับความถี่ ไม่ใช้ก็ได้) รวม keys ของ d ตามลำดับ → สตริงผลลัพธ

  4. โปรแกรมคำนวณคะแนนคำจากรายการคำใน Python

    การคำนวณคะแนนคำตามจำนวนสระ กำหนดรายการคำ (พิมพ์เล็ก) คำนวณคะแนน: สระ = [a,e,i,o,u,y] จำนวนสระเป็นเลขคู่ → คะแนน 2 จำนวนสระเป็นเลขคี่ → คะแนน 1 คะแนนรวม = ผลรวมคะแนนทุกคำ ตัวอย่างโค้ด def solve(words): score = 0 for word in words: num_vowels = 0 for letter in word:

  5. โปรแกรมหาตัวเลขที่หายไปจากสองรายการตัวเลขใน Python

    การหาตัวเลขที่หายไปจากสองรายการ (Permutation with Missing) nums1 และ nums2 เป็น permutation ของชุดตัวเลขเดียวกันแต่ขาดบางตัว หาตัวเลขที่หาย (รวมความถี่) อัลกอริทึม นับความถี่ c1 ของ nums1, c2 ของ nums2 รวมตัวเลขทั้งหมดใน all_nums สำหรับแต่ละ n ใน all_nums: ถ้า n ไม่อยู่ใน c1 → เพิ่ม n จำนวน

  6. โปรแกรมหาจำนวนวิธีแลกเงิน n บาทด้วยเหรียญที่กำหนดใน Python

    การหาจำนวนวิธีแลกเงินด้วยเหรียญ 1, 2, 5, 10 บาท กำหนดจำนวนเงิน n และจำนวนเหรียญแต่ละชนิด (count[0]=1บาท, count[1]=2บาท, count[2]=5บาท, count[3]=10บาท) หาจำนวนวิธีแลกเงิน อัลกอริทึม (Dynamic Programming) denom = [1,2,5,10] A[i] = จำนวนวิธีทำเงิน i บาท (เริ่ม A[0]=1) สำหรับเหรียญแต่ละชนิด ใช้ bounde

  7. โปรแกรมตรวจสอบรูปแบบรหัสไปรษณีย์ใน Python

    การตรวจสอบรหัสไปรษณีย์ (Postal Code Validation) เงื่อนไขรหัสไปรษณีย์ที่ถูกต้อง: เป็นตัวเลข 6 หลัก (100000 - 999999) ไม่มี alternating repetitive digit pair มากกว่า 1 คู่ (เช่น 121 มีคู่ 1-1) อัลกอริทึม ตรวจสอบความยาว 6 และตัวแรกไม่ใช่ 0 ตรวจสอบทุกตัวเป็นเลข นับ alternating repetitive pairs: s[i]

  8. โปรแกรมนับจำนวนตัวหารร่วมของสองจำนวนใน Python

    การนับตัวหารร่วม (Common Divisors) ของสองจำนวน หาจำนวนจำนวนเต็มบวกที่หาร a และ b ลงตัวทั้งคู่ อัลกอริทึม หา GCD ของ a และ b นับตัวหารของ GCD (เพราะตัวหารร่วมของ a,b คือตัวหารของ gcd(a,b)) ตัวอย่างโค้ด from math import gcd def solve(a, b): res = 0 for i in range(1, gcd(a, b) + 1):

  9. โปรแกรมหาองค์ประกอบที่ i หลังหมุนขวา k ครั้งใน Python

    การหาองค์ประกอบที่ index i หลังการหมุนขวา k ครั้ง หมุนอาร์เรย์ขวา k ครั้ง (ย้ายตัวสุดท้ายไปหน้า) หาค่าที่ index i อัลกอริทึม วน k รอบ: pop() ตัวสุดท้าย insert(0, popped) คืนค่า nums[i] ตัวอย่างโค้ด def solve(nums, k, i): for r in range(k): nums.insert(0, nums.pop()) return nums[i

  10. โปรแกรมตรวจสอบว่าจุดต่างๆ สร้างเป็น Convex Hull หรือไม่ใน Python

    การตรวจสอบ Convex Hull (รูปหลายเหลี่ยม凸) กำหนดจุดมุมเรียงตามเข็มนาฬิกา ตรวจสอบว่ามุมภายในทุกมุม ≤ 180° (Convex) อัลกอริทึม วนตรวจสอบมุมของทุก 3 จุดติดต่อกัน 180° → ไม่ใช่ Convex → คืน False ถ้าทุกมุม ≤ 180° → เป็น Convex → คืน True ตัวอย่างโค้ด import math def get_angle(a, b, c): angle = m

  11. โปรแกรมหาจำนวนค่าที่เป็นตัวประกอบของชุดแรกและหารชุดที่สองลงตัวใน Python

    การหาจำนวนที่เป็น common multiples ของ nums1 และ common divisors ของ nums2 หาจำนวน x ที่: ทุกตัวใน nums1 หาร x ลงตัว (x เป็น common multiple) และ x หารทุกตัวใน nums2 ลงตัว (x เป็น common divisor) อัลกอริทึม วน x = 1 ถึง 100 ตรวจสอบ: ทุก j ใน nums1, x % j == 0 ถ้าผ่าน: ทุก k ใน nums2, k % x == 0 นั

  12. โปรแกรมหา Super Digit ของตัวเลขใน Python

    การหา Super Digit (รากดิจิตอล) Super Digit คือผลรวมหลักของเลขทำซ้ำจนเหลือ 1 หลัก (Digital Root) อัลกอริทึม s = 0 (ผลรวมสะสม) 9: ถ้า n == 0: n = s, s = 0 (เริ่มรอบใหม่) s += n % 10 (บวกหลักสุดท้าย) n //= 10 (ตัดหลักสุดท้าย) คืนค่า s ตัวอย่างโค้ด 9: if n == 0:

  13. โปรแกรมสร้างรายการซ้ำโดยทำซ้ำแต่ละองค์ประกอบ n ครั้งใน Python

    การทำซ้ำแต่ละองค์ประกอบในรายการ n ครั้ง กำหนดรายการ nums ขนาด n สร้างรายการใหม่ที่แต่ละองค์ประกอบถูกทำซ้ำ n ครั้ง อัลกอริทึม n = len(nums) สร้างรายการว่าง ret วนลูปแต่ละ num ใน nums: ret += [num] * n คืนค่า ret ตัวอย่างโค้ด def solve(nums): n = len(nums) ret = [] for num in nums:

  14. โปรแกรมตรวจสอบว่าจุดต่างๆ สร้างเป็นรูปหลายเหลี่ยมโค้ง (Concave) หรือไม่ใน Python

    การตรวจสอบรูปหลายเหลี่ยมโค้ง (Concave Polygon) 180° หรือไม่ (Concave) อัลกอริทึม สำหรับจุด 3 จุดติดต่อกัน (p1, p2, p3) คำนวณมุมที่ p2 ใช้ atan2 หามุมระหว่างเวกเตอร์ p2→p1 และ p2→p3 180° → Concave → คืน True วนตรวจสอบทุก 3 จุดติดต่อกัน (วนรอบ) ตัวอย่างโค้ด import math def get_angle(a, b, c):

  15. โปรแกรมกรองค่าที่น้อยกว่า x ในอาร์เรย์ใน Python

    การกรองค่าที่น้อยกว่า x จากรายการ ใช้ฟังก์ชัน filter() ร่วมกับ lambda เพื่อกรองค่าที่น้อยกว่า x ตัวอย่างโค้ด def solve(nums, x): left_items = filter(lambda a: a < x, nums) return list(left_items) nums = [1,5,8,3,6,9,12,77,55,36,2,5,6,12,87] x = 50 print(solve(nums, x)) ผลลัพธ์ [1, 5, 8, 3

  16. โปรแกรมนับจำนวน BST ที่เป็นไปได้จาก n โหนดใน Python

    การนับจำนวน Binary Search Tree จาก n โหนด จำนวน BST ที่เป็นไปได้จาก n โหนดที่แตกต่างกัน คือ Catalan number C(n) สูตร Catalan Number $$C(n) = \frac{(2n)!}{(n+1)! \times n!} = \frac{1}{n+1} \binom{2n}{n}$$ อัลกอริทึมคำนวณ C(n) คำนวณ binomial coefficient C(2n, n) แบบ iterative (หลีกเลี่ยง factorial

  17. โปรแกรมหาระยะห่างสูงสุดระหว่างที่นั่งว่างและที่นั่งที่มีคนใน Python

    การหาระยะห่างสูงสุดจากที่นั่งว่างไปที่นั่งที่มีคนใกล้สุด กำหนดรายการ seats (0=ว่าง, 1=มีคน) มีที่นั่งว่างอย่างน้อย 1 และมีคนอย่างน้อย 1 หาระยะห่างสูงสุดจากที่นั่งว่างไปที่นั่งที่มีคนใกล้ที่สุด อัลกอริทึม res = 0, last = -1 (index ที่นั่งที่มีคนล่าสุด) วนลูป i = 0 ถึง n-1 ถ้า seats[i] == 1:

  18. โปรแกรมหาผลรวมสูงสุดของตัวเลขคูณกันใน Python

    การหาผลรวมสูงสุดจากการจับคู่คูณระหว่างสองรายการ กำหนด nums และ multipliers จับคู่คูณกัน (นำออกจากรายการ) จนรายการใดรายการหนึ่งหมด หาผลรวมสูงสุด อัลกอริทึม เรียง nums และ multipliers ทั้งคู่ ถ้า len(nums) < len(multipliers) สลับกัน จับคู่ multipliers ตัวลบ/ศูนย์ กับ nums ตัวเล็กสุด (ซ้าย) จับคู่ mu

  19. โปรแกรมหาผลคูณมากที่สุดของสามองค์ประกอบที่ต่างกันใน Python

    การหาผลคูณสูงสุดของสามองค์ประกอบที่ต่างกัน กำหนดรายการ nums หาผลคูณสูงสุดของสามองค์ประกอบที่ต่างกัน อัลกอริทึม เรียง nums ผลคูณมากสุดจะเป็นหนึ่งในสองกรณี: สองตัวเล็กสุด (ลบ) × ตัวใหญ่สุด (บวก) สามตัวใหญ่สุด เปรียบเทียบทั้งสองค่า ตัวอย่างโค้ด def solve(nums): nums.sort() n

  20. โปรแกรมหาผลคูณสูงสุดของสององค์ประกอบที่ต่างกันในอาร์เรย์ใน Python

    การหาผลคูณสูงสุดของสององค์ประกอบที่ต่างกัน กำหนดรายการ nums หาผลคูณสูงสุดของสององค์ประกอบที่ต่างกัน (distinct elements) อัลกอริทึม เรียง nums ผลคูณมากสุดจะเป็นหนึ่งในสองกรณี: สองตัวเล็กสุด (อาจเป็นลบ × ลบ = บวกใหญ่) สองตัวใหญ่สุด (บวก × บวก) เปรียบเทียบทั้งสองค่า ตัวอย่างโค้ด def

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:376/451  20-คอมพิวเตอร์/Page Goto:1 370 371 372 373 374 375 376 377 378 379 380 381 382