Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. ฐานที่ดีที่สุด (Smallest Good Base) ใน Python

    สมมติว่ามีจำนวนเต็ม n เรียก k ≥ 2 ว่าเป็น good base ของ n ถ้าตัวเลข n ในฐาน k ประกอบด้วยตัวเลข 1 ทั้งหมด กำหนด n เป็นสตริง ต้องคืนค่า smallest good base เป็นสตริง เช่น n = 121 → คำตอบ 3 เพราะ 121 ในฐาน 3 คือ 11111 ขั้นตอนการแก้ปัญหา กำหนดฟังก์ชัน getSum(x, length) คำนวณผลรวม 1 + x + x^2 + ... + x^(

  2. การส่องสว่างกริดใน Python

    สมมติว่ามีกริด N x N แต่ละเซลล์ (x, y) มีโคมไฟ บางโคมเปิดอยู่ โคมที่เปิดจะส่องสว่างทุกเซลล์บนแกน x, แกน y, และเส้นทแยงมุม ทุกครั้งที่สอบถาม (query) ที่ (x, y) ตอบ 1 ถ้าส่องสว่างอยู่ 0 ถ้าไม่ หลังสอบถามแต่ละครั้ง ปิดโคมที่อยู่ที่ (x, y) และโคมที่อยู่ติดกัน 8 ทิศทาง คืนค่า array ของคำตอบ ตัวอย่าง: N =

  3. หลบพ้นเขาวงกตขนาดใหญ่ใน Python

    สมมติว่ามีกริดขนาด 1 ล้านแถวและ 1 ล้านคอลัมน์ พร้อมรายการเซลล์ที่ถูกบล็อก เริ่มจากตำแหน่ง source ต้องการไปถึง target โดยเดินได้ทีละ 1 เซลล์ (บน ล่าง ซ้าย ขวา) ไม่ผ่านเซลล์ที่ถูกบล็อก ต้องตรวจสอบว่าสามารถไปถึงเป้าหมายได้หรือไม่ ตัวอย่าง: blocked = [[0,1],[1,0]], source = [0,0], target = [0,3] → ผลลัพ

  4. แปลงสตริงที่เป็นลิสต์ให้กลายเป็นลิสต์จริงใน Python

    บางครั้งข้อมูลที่ได้มาอาจเป็นสตริง แต่โครงสร้างภายในเป็นลิสต์ของ Python บทความนี้จะสาธิตวิธีแปลงสตริงที่ห่อหุ้มลิสต์ให้กลายเป็นลิสต์จริงเพื่อนำไปประมวลผลต่อ ใช้ eval() ฟังก์ชัน eval() จะประเมินค่าที่ส่งเข้าไป ดังนั้นเราส่งสตริงที่กำหนดให้ eval() เพื่อให้คืนค่าเป็นลิสต์ของ Python ตัวอย่าง stringA = [

  5. แปลงสตริงเป็น DateTime และกลับกันใน Python

    Python มีความสามารถในการจัดการวันที่และเวลาอย่างกว้างขวาง บทความนี้จะสาธิตวิธีแปลงสตริงที่มีรูปแบบเหมาะสมให้เป็น datetime และในทางกลับกัน ใช้ strptime() ฟังก์ชัน strptime() จากโมดูล datetime สามารถแปลงจากสตริงเป็น datetime ได้ โดยรับ format specifiers ที่เหมาะสม ตัวอย่าง import datetime dt_str = Sep

  6. แปลงสองลิสต์เป็นพจนานุกรมใน Python

    ใน Python ลิสต์ (list) จะเก็บชุดของค่า ในขณะที่พจนานุกรม (dictionary) จะเก็บคู่ของค่าที่เรียกว่า key-value pairs บทความนี้จะสาธิตวิธีนำสองลิสต์มารวมกันเพื่อสร้างพจนานุกรมใน Python วิธีที่ 1: ใช้ลูป for และเมธอด remove() สร้างลูป for ซ้อนกันสองชั้น ในลูปในจะกำหนดลิสต์หนึ่งเป็น key ของพจนานุกรม และลบค

  7. Parsing A Boolean Expression ใน Python: ประเมินนิพจน์บูลีนแบบ Toi Đệ Quy

    ได้นิพจน์บูลีนในรูปแบบสตริง ประเมินค่า True/False รูปแบบ: t (True), f (False), !(expr) (NOT), &(expr1,expr2,...) (AND), |(expr1,expr2,...) (OR) ตัวอย่าง |(!(t),&(t,f,t)) → !(t) = False, &(t,f,t) = False, |(False,False) = False ขั้นตอนการแก้ปัญหา (Recursive Descent Parser) ฟังก์ชัน solve(e, i) ป

  8. Converting All Strings in List to Integers ใน Python

    ได้ลิสต์ที่สมาชิกเป็นสตริงตัวเลข (เช่น [5, 2, -43, 23]) แปลงเป็นลิสต์ของ Integer จริง วิธี 1: List Comprehension กับ int() listA = [5, 2, -43, 23] res = [int(x) for x in listA] print(res) # [5, 2, -43, 23] วิธี 2: ใช้ map(int, list) listA = [5, 2, -43, 23] res = list(map(int, listA)) print(res

  9. Converting List String to Dictionary ใน Python: แปลงสตริงรูปแบบลิสต์เป็น Dict

    ได้สตริงที่มีรูปแบบคล้ายลิสต์ของ Key-Value Pairs เช่น [Mon:3, Tue:5, Fri:11] แปลงเป็น Dictionary จริง วิธี 1: ใช้ split() และ Slicing stringA = [Mon:3, Tue:5, Fri:11] res = {part.split(:)[0]: part.split(:)[1] for part in stringA[1:-1].split(, )} print(res) # {Mon: 3, Tue: 5, Fri: 11} วิธี 2: ใช

  10. Count and Display Vowels ใน String Python: นับและแสดงสระในสตริง

    ได้สตริง ต้องการนับและแสดงสระ (a, e, i, o, u) ที่ปรากฏ วิธี 1: ใช้ set หา Unique Vowels stringA = Tutorialspoint is best vowels = AaEeIiOoUu unique_vowels = {ch for ch in stringA if ch in vowels} print(unique_vowels) # {a, e, i, o, u} วิธี 2: ใช้ dict.fromkeys() นับจำนวนแต่ละสระ stringA = Tuto

  11. Smallest Sufficient Team ใน Python: หาทีมขนาดเล็กที่สุดครอบคลุมทักษะที่ต้องการ

    ได้รายการทักษะที่จำเป็น req_skills และรายการคน people (แต่ละคนมีลิสต์ทักษะ) หาทีมขนาดเล็กที่สุด (ดัชนีคน) ที่รวมกันมีทักษะครบทุกอย่างใน req_skills ตัวอย่าง req_skills = [java,flutter,android], people = [[java],[android],[flutter,android]] → ทีม [0, 2] (คน 0 มี java, คน 2 มี flutter+android) ขั้นตอ

  12. Count Items in Dictionary Value ที่เป็น List ใน Python

    ได้ Dictionary ที่ Value บางตัวเป็น List นับจำนวน Item ทั้งหมดใน Value ที่เป็น List ทั้งหมด วิธี 1: ใช้ isinstance() ใน For Loop Adict = {Days: [Mon,Tue,Wed,Thu], time: 2 pm, Subjects: [Phy,Chem,Maths,Bio]} count = 0 for v in Adict.values(): if isinstance(v, list): count += len(v) prin

  13. Longest Chunked Palindrome Decomposition ใน Python: แยกสตริงเป็นพาลินโดรมชิ้นเล็กมากที่สุด

    ได้สตริง text ต้องการแบ่งเป็น k ชิ้น (Chunk) มากที่สุด ที่: (1) ทุกชิ้นไม่ว่าง (2) ต่อกันแล้วได้ text (3) ชิ้นที่ i เท่ากับชิ้นที่ k+1-i (Chunk Palindrome) ตัวอย่าง antaprezatepzapreanta → แบ่งได้ 11 ชิ้น: (a)(nt)(a)(pre)(za)(tpe)(za)(pre)(a)(nt)(a) ขั้นตอนการแก้ปัญหา (Two Pointers + Greedy) Tw

  14. Count Occurrence of All List Elements ใน Tuple Python: นับสมาชิกลิสต์ที่อยู่ใน Tuple

    ได้ Tuple และ List นับจำนวนรวมของสมาชิกใน List ที่ปรากฏใน Tuple (นับซ้ำได้) วิธี 1: ใช้ Counter บน Tuple แล้ว Sum ตาม List from collections import Counter Atup = (Mon, Wed, Mon, Tue, Thu) Alist = [Mon, Thu] cnt = Counter(Atup) res = sum(cnt[x] for x in Alist) print(res) # 3 (Mon=2, Thu=1) วิธี

  15. Count Occurrence of a Character ใน String Python: นับตัวอักษรในสตริง

    ได้สตริงและตัวอักษร หาจำนวนครั้งที่ตัวอักษรปรากฏในสตริง วิธี 1: ใช้ for Loop กับ range(len()) Astr = How do you do char = o count = 0 for i in range(len(Astr)): if Astr[i] == char: count += 1 print(count) # 4 วิธี 2: ใช้ collections.Counter from collections import Counter Astr = Ho

  16. Count Occurrences of an Element ใน List Python: นับจำนวนค่าที่ปรากฏ

    ได้ลิสต์และค่าที่ต้องการ หาจำนวนครั้งที่ค่านั้นปรากฏในลิสต์ วิธี 1: ใช้ collections.Counter from collections import Counter Alist = [Mon, Wed, Mon, Tue, Thu] elem = Mon cnt = Counter(Alist)[elem] print(cnt) # 2 วิธี 2: ใช้ list.count() (Built-in, เรียบง่ายที่สุด) Alist = [Mon, Wed, Mon, Tue, T

  17. Count Elements Matching Condition ใน Python: นับสมาชิกที่ตรงเงื่อนไข

    ได้ลิสต์ ต้องการนับสมาชิกที่ตรงเงื่อนไขเฉพาะ (เช่น เป็น Mon หรือ Wed) วิธี 1: sum() กับ Generator Expression Alist = [Mon, Wed, Mon, Tue, Thu] cnt = sum(1 for x in Alist if x in (Mon, Wed)) print(cnt) # 3 วิธี 2: map() + lambda + sum() Alist = [Mon, Wed, Mon, Tue, Thu] cnt = sum(map(lambda x: x

  18. Count Number of Matching Characters ใน Pair of Strings Python

    ได้สตริงสองตัว นับจำนวนตัวอักษรในสตริงแรกที่ปรากฏในสตริงที่สอง (นับ Unique หรือนับซ้ำได้) วิธี 1: ใช้ set นับ Unique Characters (Intersection) strA = Tutorials Point strB = aeio common = set(strA) & set(strB) print(len(common)) # 3 (a, i, o) วิธี 2: ใช้ re.search นับทุกครั้งที่เจอ (รวมซ้ำ) impo

  19. Count Sublists Containing Given Element ใน List Python: นับสับลิสต์ที่มีค่าที่กำหนด

    ได้ลิสต์ของสตริง (หรือสับลิสต์) และค่าที่ต้องการค้นหา นับจำนวนสับลิสต์ที่มีค่านั้น วิธี 1: ใช้ for Loop กับ in Alist = [Mon, Wed, Mon, Tue, Thu] target = Mon count = sum(1 for item in Alist if target in item) print(count) # 2 วิธี 2: ใช้ sum() กับ Generator (เทียบเท่า) Alist = [Mon, Wed, Mon, Tu

  20. Count Tuples Occurrence ใน List of Tuples Python: นับจำนวน Tuple ที่ซ้ำ

    ได้ลิสต์ที่สมาชิกเป็น Tuple นับจำนวนครั้งที่แต่ละ Tuple ปรากฏ วิธี 1: ใช้ collections.defaultdict(int) import collections Alist = [[(Mon,Wed)], [(Mon,)], [(Tue,)], [(Mon,Wed)]] counter = collections.defaultdict(int) for elem in Alist: counter[elem[0]] += 1 print(dict(counter)) # {(Mon, Wed): 2

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:145/451  20-คอมพิวเตอร์/Page Goto:1 139 140 141 142 143 144 145 146 147 148 149 150 151