Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. วิธีอ่านไฟล์ Microsoft Word ด้วย Python

    บทนำ Python-docx อ่านเนื้อหาใน .docx ไม่ได้ดี ต้องอ่าน XML ดิบด้วยตนเอง โดย .docx เป็นไฟล์ zip ที่มี word/document.xml ภายใน ขั้นตอน นำเข้า: from zipfile import ZipFile, from urllib.request import urlopen, from io import BytesIO ดาวน์โหลดไฟล์ .docx เป็น binary, แปลงเป็น BytesIO เปิดด้วย ZipF

  2. วิธีดึงข้อมูลที่ต้องการจากสตริงที่มีโครงสร้างใน Python

    บทนำ แสดงวิธีแยกข้อมูล/ฟิลด์จากสตริงที่มีรูปแบบคงที่ สองวิธี: ใช้ split แบบmanual และใช้โมดูล parse ข้อมูลตัวอย่าง Report: Daily_Report - Time: 2020-10-10T12:30:59.000000 - Player: Federer - Titles: 20 - Country: Switzerland วิธี 1: ใช้ split แยกด้วย delimiter - ได้ฟิลด์ต่างๆ แยกแต่ละฟิลด์ด

  3. วิธีวาด Scatter Plot 4 มิติ พร้อมสีและขนาดกำหนดเองใน Python Matplotlib

    บทนำ Scatter plot แสดงความสัมพันธ์ระหว่างสองตัวแปร สามารถเพิ่มมิติที่ 3 (ขนาดจุด) และมิติที่ 4 (สี) ได้ ขั้นตอน ติดตั้ง matplotlib: pip install matplotlib นำเข้าและเตรียมข้อมูล: import matplotlib.pyplot as plt import random tennis_stats = ((Federer, 20), (Nadal, 20), (Djokovic, 17), ...)

  4. วิธีวาด Pie Chart เน้นชิ้นเดียวด้วย Python Matplotlib

    บทนำ Pie chart เป็นชาร์ตยอดนิยมสำหรับแสดงเปอร์เซ็นต์ ใน Matplotlib สามารถเน้นชิ้นหนึ่ง (explode) และปรับแต่งการแสดงผลได้หลากหลาย ขั้นตอน ติดตั้ง matplotlib: pip install matplotlib นำเข้า: import matplotlib.pyplot as plt เตรียมข้อมูล: tennis_stats = ((Federer, 20), (Nadal, 20), (Djokovic,

  5. วิธีใช้ positional arguments ซ้ำหลายตัวที่มีประเภทเดียวกันใน Python argparse

    บทนำ ถ้าเขียนโปรแกรมคำนวณเลขสองตัว (เช่น ลบ) สามารถกำหนดเป็น positional arguments สองตัว แต่เพราะเป็นประเภทเดียวกัน ใช้ nargs บอก argparse ให้รับค่าสองค่าแบบนี้ดีกว่า วิธีทำ เขียนโปรแกรมลบเลขสองตัว (arguments เหมือนกันทั้งคู่) ตัวอย่าง import argparse def get_args(): parser = argparse.Arg

  6. วิธีจำกัดค่า argument ด้วย choices ใน Python argparse

    บทนำ สมมติว่าเราต้องเขียนโปรแกรมรับจำนวนแชมป์แกรนด์สแลมเทนนิสจากผู้ใช้ จำนวนสูงสุดคือ 20 (เฟเดอเรอร์และナダล) ส่วนต่ำสุดคือ 0 เราต้องการจำกัดให้ผู้ใช้ป้อนได้เฉพาะช่วง 0-20 เท่านั้น ตัวอย่างโดยไม่มี choices import argparse def get_args(): parser = argparse.ArgumentParser( description=Exam

  7. โปรแกรมนับจำนวนลำดับเลขคณิตที่ติดกันจากรายการตัวเลขใน Python

    สมมติว่าเรามีรายการตัวเลข nums หาจำนวนลำดับเลขคณิตที่ติดกัน (contiguous arithmetic sequences) ความยาว ≥ 3 ตัวอย่าง อินพุต: nums = [6, 8, 10, 12, 13, 14] เอาต์พุต: 4 ลำดับเลขคณิตติดกัน: [6,8,10], [8,10,12], [6,8,10,12], [12,13,14] ขั้นตอนการแก้ปัญหา วิธีง่าย: วนลูปตรวจสอบความต่างติดกัน: count =

  8. โปรแกรมนับจำนวนลำดับเลขคณิตย่อยจากรายการตัวเลขใน Python

    สมมติว่าเรามีรายการตัวเลข nums หาจำนวนลำดับเลขคณิต (arithmetic subsequences) ที่มีความยาว ≥ 3 ลำดับเลขคณิตคือลำดับที่ความต่างระหว่างตัวเลขติดกันคงที่ (ไม่จำเป็นต้องติดกันในอาร์เรย์เดิม) ตัวอย่าง อินพุต: nums = [6, 12, 13, 8, 10, 14] เอาต์พุต: 3 ลำดับเลขคณิต: [6, 8, 10], [6, 10, 14], [12, 13, 14] ข

  9. โปรแกรมหาจำนวนวิธีจัดสัญลักษณ์ + - เพื่อให้ได้ค่าเป้าหมายใน Python

    สมมติว่าเรามีรายการตัวเลขไม่ติดลบ nums และค่าเป้าหมาย target หาจำนวนวิธีวางเครื่องหมาย + หรือ - หน้าตัวเลขแต่ละตัว เพื่อให้ผลรวมเท่ากับ target ตัวอย่าง อินพุต: nums = [2, 3, 3, 3, 2], target = 9 เอาต์พุต: 2 วิธีที่ 1: -2 + 3 + 3 + 3 + 2 = 9 วิธีที่ 2: 2 + 3 + 3 + 3 - 2 = 9 ขั้นตอนการแก้ปัญหา แปลงเ

  10. โปรแกรมหาจำนวนตัวอักษรที่ต้องลบน้อยที่สุดเพื่อให้ A อยู่หน้า B ใน Python

    สมมติว่าเรามีสตริง s ประกอบด้วยตัวอักษร A และ B เท่านั้น หาจำนวนตัวอักษรที่ต้องลบน้อยที่สุด เพื่อให้ A ทั้งหมดอยู่ก่อน B ทั้งหมด ตัวอย่าง อินพุต: S = AABAABB เอาต์พุต: 1 ลบ A ตัวสุดท้าย ได้ AABBBB (A ทั้งหมดอยู่หน้า B) ขั้นตอนการแก้ปัญหา ใช้การนับแบบ prefix/suffix: a_right = s.count(A) (จำนวน A

  11. โปรแกรมจัดเรียงลิงค์ด์ลิสต์โดยสลับโหนดหน้า-หลังใน Python

    สมมติว่าเรามี singly linked list ต้องจัดเรียงใหม่โดยเอา: โหนดสุดท้าย, แล้วโหนดแรก, แล้วโหนดสุดท้ายลำดับที่สอง, แล้วโหนดลำดับที่สอง, ... สลับกันไปเรื่อยๆ ตัวอย่าง อินพุต: [1,2,3,4,5,6,7,8,9] เอาต์พุต: [9, 1, 8, 2, 7, 3, 6, 4, 5] ขั้นตอนการแก้ปัญหา เดินผ่าน linked list เก็บค่าทุกโหนดใส่ลิสต์ l

  12. โปรแกรมหากำไรสูงสุดจากการซื้อขายหุ้นพร้อมวันหยุดพักใน Python

    สมมติว่าเรามีรายการราคาหุ้นเรียงตามเวลา หากำไรสูงสุดจากการซื้อขาย ต้องซื้อก่อนขาย และหลังขายต้องรอ 1 วัน (cooldown) จึงจะซื้อได้อีก ตัวอย่าง อินพุต: prices = [2, 6, 9, 4, 11] เอาต์พุต: 11 ซื้าที่ 2 ขายที่ 6 (กำไร 4) รอ 1 วัน ซื้าที่ 4 ขายที่ 11 (กำไร 7) รวม 11 ขั้นตอนการแก้ปัญหา ใช้ DP สองสถานะ: s

  13. โปรแกรมหาดัชนีคอลัมน์ที่มี 1 ตรงสุดซ้ายในเมทริกซ์ไบนารีใน Python

    สมมติว่าเรามีเมทริกซ์ไบนารี 2 มิติ แต่ละแถวเรียงลำดับจาก 0 แล้วตามด้วย 1 หาคอลัมน์ที่มี 1 อยู่ไว้สุดซ้าย (ดัชนีน้อยที่สุด) ถ้าไม่มี 1 เลย คืนค่า -1 ตัวอย่าง เมทริกซ์: [[0, 0, 0, 1], [0, 0, 1, 1], [0, 0, 1, 1], [0, 0, 1, 0]] เอาต์พุต: 2 (คอลัมน์ที่ 2 มี 1 อยู่ไว้สุดซ้าย) ขั้นตอนการแก้ปัญหา เริ่ม

  14. โปรแกรมหาตัวเลขที่มากกว่าและมีจำนวนบิต 1 เท่ากับ n ใน Python

    สมมติว่าเรามีตัวเลข n ต้องหาตัวเลขที่มากกว่า n น้อยที่สุดที่มีจำนวนบิต 1 ในรูปแบบทวิณัติเท่ากับ n ตัวอย่าง อินพุต: n = 7 (binary 0111) เอาต์พุต: 11 (binary 1011) ทั้งคู่มีบิต 1 สามตัว ขั้นตอนการแก้ปัญหา ใช้อัลกอริทึม bit manipulation มาตรฐาน (next higher number with same number of set bits): co

  15. โปรแกรมหาดัชนีเริ่มต้นของเด็กที่ได้บอลลูนตัวสุดท้ายใน Python

    สมมติว่ามีเด็ก n คนยืนวงกลม รอรับบอลลูน การแจกเริ่มจากเด็กคนที่ k (ดัชนีเริ่มจาก 0) เด็กที่ได้บอลลูนจะออกจากวงกลม แล้วต่อไปทุกคนที่ k จะได้บอลลูน ตามทิศทางเข็มนาฬิกา จนเหลือเด็กคนสุดท้าย หาดัชนีเริ่มต้นของเด็กคนนั้น ตัวอย่าง อินพุต: n = 3, k = 2 เอาต์พุต: 1 รอบแรก: เด็ก 2 ได้บอลลูน ออก วงกลมเหลือ [

  16. โปรแกรมหาผลรวมต่ำสุดโดยเปลี่ยนบิต 0 เป็น 1 จำนวน k ครั้งใน Python

    สมมติว่าเรามีรายการตัวเลข nums และค่า k ต้องทำการดำเนินการ k ครั้ง: เลือกตัวเลขใดก็ได้ในลิสต์ เลือกบิตที่เป็น 0 ในการแทนค่าบाइनนารี แล้วเปลี่ยนเป็น 1 หาผลรวมต่ำสุดของทุกตัวเลขหลังทำ k ครั้ง ถ้าคำตอบสูงมาก ให้คืนค่า modulo 10^9+7 ตัวอย่าง อินพุต: nums = [4, 7, 3], k = 2 เอาต์พุต: 17 4 = 100, 3 = 011

  17. โปรแกรมหาจำนวนตำแหน่งที่ปลอดภัยเมื่อระเบิดระเบิดใน Python

    สมมติว่าเรามีเมทริกซ์ไบนารี 2 มิติ โดย 1 แทนระเบิด 0 แทนเซลล์ว่าง เมื่อระเบิดระเบิด ทุกเซลล์ในแถวและคอลัมน์เดียวกันจะได้รับความเสียหาย หาจำนวนเซลล์ที่ยืนอยู่ได้ปลอดภัย (ไม่ได้รับความเสียหาย) ตัวอย่าง เมทริกซ์: [[1, 1, 0], [0, 0, 0], [0, 0, 0]] เอาต์พุต: 2 เซลล์ปลอดภัยคือ (1,2) และ (2,2) (ดัชน์เริ

  18. โปรแกรมหากำไรสูงสุดจากการซื้อขายหุ้นพร้อมค่าธรรมเนียมใน Python

    สมมติว่าเรามีรายการราคาหุ้นเรียงตามเวลา และมีค่าธรรมเนียมการขาย (fee) ต่อครั้ง หากำไรสูงสุดจากการซื้อขายได้หลายครั้ง ต้องซื้อก่อนขายเสมอ ตัวอย่าง อินพุต: prices = [2, 10, 4, 8], fee = 3 เอาต์พุต: 6 ซื้าที่ 2 ขายที่ 10 กำไร 8 - fee 3 = 5, ซื้าที่ 4 ขายที่ 8 กำไร 4 - fee 3 = 1 รวม 6 ขั้นตอนการแก้ปัญ

  19. โปรแกรมนับจำนวนการสลับที่ต้องใช้เพื่อเปลี่ยนลิสต์หนึ่งเป็นอีกลิสต์ใน Python

    สมมติว่าเรามีสองลิสต์ L1 และ L2 ความยาวเท่ากัน n ค่าแต่ละตัวไม่ซ้ำกัน และอยู่ในช่วง 1 ถึง n หาจำนวนการสลับติดกัน (adjacent swaps) น้อยที่สุดเพื่อเปลี่ยน L1 ให้กลายเป็น L2 ตัวอย่าง อินพุต: L1 = [0, 1, 2, 3], L2 = [2, 0, 1, 3] เอาต์พุต: 2 [0, 2, 1, 3] [2, 0, 1, 3] ขั้นตอนการแก้ปัญหา จับคู่ตำแหน่งใน

  20. โปรแกรมหาค่าโดยสารรถบัสขั้นต่ำสำหรับการเดินทางทุกวันใน Python

    สมมติว่าเรามีรายการวันที่เรียงลำดับ days ที่ต้องขึ้นรถบัส ต้องหาค่าใช้จ่ายต่ำสุด มีบัตร 3 ประเภท: บัตร 1 วัน ราคา 2, บัตร 7 วัน ราคา 7, บัตร 30 วัน ราคา 25 ตัวอย่าง อินพุต: days = [1, 3, 5, 6, 28] เอาต์พุต: 9 ซื้อบัตร 7 วันตั้งแต่วันที่ 1 (ครอบคลุมถึงวันที่ 7) และบัตร 1 วันสำหรับวันที่ 28 รวม 7+2=9

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:186/451  20-คอมพิวเตอร์/Page Goto:1 180 181 182 183 184 185 186 187 188 189 190 191 192