Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. โปรแกรม Python สำหรับ Odd-Even Sort / Brick Sort

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้ Brick Sort ที่นี่มี 2 ระยะ: ระยะคี่ (Odd Phase) และระยะคู่ (Even Phase) ในระยะคี่ จะทำ Bubble Sort บนองค์ประกอบที่มีดัชนีคี่ และในระยะคู่ จะทำ Bubble Sort บนองค์ประกอบที่มีดัชนีคู่ มาเปลี่ยนดูโค้ดตัวอย่า

  2. โปรแกรม Python สำหรับ QuickSort

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้แนวคิดของ QuickSort ที่นี่เราจะแบ่งพาร์ติชัน (partition) อาร์เรย์ก่อน แล้วจัดเรียงพาร์ติชันแยกกันเพื่อให้ได้อาร์เรย์ที่จัดเรียงแล้ว มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # ฟังก์ชันแบ่งพาร์ติชัน

  3. โปรแกรม Python สำหรับ Recursive Insertion Sort (การจัดเรียงแบบแทรกแบบเรียกซ้ำ)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้แนวคิดของ Recursive Insertion Sort Insertion Sort ทำงานโดยการสร้างอาร์เรย์ขนานที่เราแทรกองค์ประกอบด้วยตนเองตามลำดับที่กำหนด มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # วิธีแบบเรียกซ้ำ (recursive) d

  4. เมธอด Dictionary ใน Python: update(), has_key(), fromkeys()

    Dictionary ใน Python เป็นหนึ่งในชนิดข้อมูลแบบคอลเลกชันที่ใช้บ่อยที่สุด แสดงอยู่ในรูปแบบคู่คีย์-ค่า (key-value pairs) คีย์จะถูกจัดทำดัชนีแต่ค่าอาจไม่ได้ มีฟังก์ชันสำเร็จรูปใน Python หลายตัวที่ทำให้การใช้ Dictionary ง่ายขึ้นในโปรแกรมต่างๆ ในหัวข้อนี้ เราจะดูเมธอดในตัว (built-in methods) 3 ตัว ได้แก่ u

  5. โปรแกรม Python สำหรับการคัดกรองเอราโธสเธนีส (Sieve of Eratosthenes)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดตัวเลข n ให้พิมพ์เลขเฉพาะทั้งหมดที่น้อยกว่าหรือเท่ากับ n โดยที่ n เป็นตัวเลขขนาดเล็ก มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด def SieveOfEratosthenes(n): # สร้างอาร์เรย์บูลีนที่มีค่า True ทั้งหมด prime = [True for

  6. Stooge Sort ใน Python

    Stooge Sort เป็น Sorting Algorithm แบบ Recursive ที่ไม่ค่อยใช้งานจริง (Complexity สูง) แต่น่าสนใจทางทฤษฎี อัลกอริทึม arr[-1] → Swap Sort 2/3 แรก (Recursive) Sort 2/3 หลัง (Recursive) Sort 2/3 แรกอีกครั้ง (Recursive) ตัวอย่างโค้ด Python 2: t = (h - l + 1) // 3 # Sort fi

  7. Dictionary Methods ใน Python: cmp(), len(), items()

    Dictionary Methods พื้นฐาน 3 ตัว (หมายเหตุ: cmp() เป็น Python 2 เท่านั้น) 1. cmp(dict1, dict2) - Python 2 Only dict2), -1 (dict1 < dict2) # Python 2 only - ไม่ทำงานใน Python 3 dict1 = {Place: Delhi, distance: 137} dict2 = {Place: Agra, distance: 41} dict3 = {Place: Bangaluru, distance: 1100} dict4

  8. Subset Sum Problem ใน Python

    โจทย์: กำหนดเซ็ตตัวเลขไม่ติดลบ และค่า Target Sum หาว่ามี Subset ที่ผลรวมเท่ากับ Target หรือไม่ ตัวอย่าง Set = [2, 14, 6, 22, 4, 8], Target = 10 Output: True (Subset: [2, 4, 4] หรือ [6, 4] หรือ [2, 8]) วิธีที่ 1: Recursive (Naive) - Exponential target: return subset_sum_recursive(arr, n-1,

  9. Login Facebook ด้วย Python Selenium

    ใช้ Selenium WebDriver ทำ Automation Login Facebook (เพื่อการศึกษา/ทดสอบเท่านั้น) Prerequisites pip install selenium Download GeckoDriver (Firefox) หรือ ChromeDriver (Chrome) ใส่ใน PATH หรือโฟลเดอร์โปรเจกต์ ขั้นตอน เปิด Browser ไปที่ facebook.com หา Element: Email (id=email), Password (id=pass)

  10. หาและวาด Contours ในภาพด้วย OpenCV Python

    Contours = เส้นขอบของวัตถุในภาพ (เชื่อมจุดที่มี Intensity เท่ากัน) ใช้ใน Shape Analysis, Object Detection ฟังก์ชันหลัก cv2.findContours() - หา Contours cv2.drawContours() - วาด Contours Syntax contours, hierarchy = cv2.findContours( image, mode, method ) cv2.drawContours( image, contour

  11. Triangular Matchstick Number ใน Python

    โจทย์: หาจำนวนไม้ขีดไฟ (Matchsticks) สำหรับพีระมิดสามเหลี่ยม X ชั้น สูตรคณิตศาสตร์ ชั้นที่ i ต้องการ 3i ไม้ (สามเหลี่ยมด้าน i) รวม = 3 × (1 + 2 + ... + X) = 3 × X(X+1)/2 = 3X(X+1)/2 ตัวอย่าง X = 21 ชั้น Matchsticks = 3 × 21 × 22 / 2 = 693 ตัวอย่างโค้ด Python def matchstick_pyramid(floors): คำ

  12. หาและวาดวงกลมในภาพด้วย OpenCV Python

    ใช้ OpenCV cv2.HoughCircles() ตรวจจับวงกลมในภาพ Grayscale ด้วย Hough Transform Syntax cv2.HoughCircles(image, method, dp, minDist, param1, param2, minRadius, maxRadius) Parameters: - image: Grayscale image - method: cv2.HOUGH_GRADIENT (唯一的方法) - dp: Inverse ratio of accumulator resolution to image r

  13. นับ Inversions ในอาร์เรย์ Python

    โจทย์: นับ Inversions ในอาร์เรย์ (คู่ i arr[j]) บ่งบอกว่าใกล้เคียงกับ Sorted แค่ไหน ตัวอย่าง arr = [1, 5, 3, 8, 7] Inversions: (5,3), (8,7) → 2 pairs วิธีที่ 1: Naive O(n²) arr[j]: inv_count += 1 return inv_count print(count_inversions([1, 5, 3, 8, 7])) # 2 วิธีที่ 2: Merge

  14. หาความถี่คำ (Word Frequency) ในสตริง Python

    Text Analytics ต้องนับความถี่คำ บทความนี้เสนอ 3 วิธี 1. collections.Counter (แนะนำ) from collections import Counter text = Learn and practice and learn to practice freq = Counter(text.split()).most_common() print(freq) # [(and, 2), (practice, 2), (Learn, 1), (learn, 1), (to, 1)] 2. NLTK FreqDist

  15. นับ Binary String ความยาว N ไม่มี 1 ติดกันใน Python

    โจทย์: นับ Binary String ความยาว N ที่ไม่มี 11 (1 ติดกัน) ตัวอย่าง N = 5 Output: 13 อัลกอริทึม: Dynamic Programming (Fibonacci-like) กำหนด: - a[i] = จำนวน string ความยาว i+1 ที่ลงท้ายด้วย 0 - b[i] = จำนวน string ความยาว i+1 ที่ลงท้ายด้วย 1 Recurrence: - a[i] = a[i-1] + b[i-1] (ต่อ 0 ได้จากทั้งคู

  16. นับ Bit ที่เป็น 1 (Set Bits / Population Count) ใน Python

    โจทย์: นับจำนวนบิต 1 ในการแทนค่า Binary ของจำนวนเต็ม n วิธีที่ 1: Naive Loop (Bitwise) = 1 # Shift right return count print(count_bits(15)) # 1111₂ → 4 วิธีที่ 2: Recursive 1) print(count_bits(15)) # 4 วิธีที่ 3: Brian Kernighans Algorithm (เร็วที่สุด) n & (n-1) ลบบิต 1 ตัวสุ

  17. นับศูนย์ท้าย (Trailing Zeros) ใน Factorial ด้วย Python

    โจทย์: หาจำนวนศูนย์ต่อท้ายของ n! (Factorial) หลักการ ศูนย์ท้ายเกิดจากตัวประกอบ 10 = 2 × 5 ใน Factorial มีตัวประกอบ 2 มากกว่า 5 มาก ดังนั้นนับแค่ตัวประกอบ 5 จำนวน 5 ใน n! = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ... ตัวอย่างโค้ด Python = 1: count += n // i i *= 5 return count # ทดสอบ n = 7

  18. หาผลรวมสะสม (Cumulative Sum) ของลิสต์ใน Python

    โจทย์: กำหนดลิสต์ สร้างลิสต์ใหม่ที่แต่ละตำแหน่งเป็นผลรวมสะสมจากต้นมาจนถึงตำแหน่งนั้น ตัวอย่าง Input: [10, 20, 30, 40, 50] Output: [10, 30, 60, 100, 150] ตัวอย่างโค้ด Python def cumulative_sum(lst): result = [] cumsum = 0 for element in lst: cumsum += element result.appe

  19. นับตัวแปร Local ในฟังก์ชัน Python

    Python เก็บข้อมูล Local Variables ของฟังก์ชันไว้ใน __code__.co_nlocals ตัวอย่าง def scope(): a = 25.5 b = 5 str_ = Tutorialspoint print(Number of local variables:, scope.__code__.co_nlocals) # Output: 3 ตัวอย่างเพิ่มเติม def empty(): pass def scope(): a, b, c = 9, 23.4, True

  20. หาคำที่ไม่ซ้ำกัน (Uncommon Words) จากสองสตริงใน Python

    โจทย์: กำหนดสองสตริง หาคำที่ปรากฏในสตริงใดสตริงหนึ่งเพียงอย่างเดียว (ไม่ปรากฏในทั้งสอง) ตัวอย่าง A = Tutorials point B = Python on Tutorials point Output: [Python, on] อัลกอริทึม: Frequency Count นับความถี่คำในทั้งสองสตริงรวมกัน คืนคำที่มีความถี่ = 1 ตัวอย่างโค้ด Python def find_uncommon_words(

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:113/451  20-คอมพิวเตอร์/Page Goto:1 107 108 109 110 111 112 113 114 115 116 117 118 119