0Pricing
Coding Interview Prep · บทเรียน

แยกตัวเลขจำนวนมากในบรรทัดเดียว

แยกข้อมูล แปลงเป็นจำนวนเต็ม และกระจายค่าอย่างเรียบร้อย

แยกตัวเลขจำนวนมากในบรรทัดเดียว เป็นบทเรียน Coding Interview Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Coding Interview Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Coding Interview Prep มีบทเรียนทั้งหมด 4 บทเรียน

หนึ่งบรรทัด หลายตัวเลข

การแข่งขันมักใส่ค่าหลายค่าลงในบรรทัดเดียว เช่น "3 7 1 9" หน้าที่ของคุณคือเปลี่ยนสตริงนั้นให้เป็นตัวเลขที่นำไปใช้ได้

แยกด้วยช่องว่าง

เริ่มด้วย .split() หากไม่ระบุอาร์กิวเมนต์ ฟังก์ชันนี้จะแยกบรรทัดตรงช่องว่างทุกชนิด และให้รายการชิ้นส่วนสตริงกลับมา

parts = input().split()

ยังเป็นสตริง ไม่ใช่ตัวเลข

หลังจาก split() แล้ว แต่ละชิ้นยังคงเป็นสตริง "7" ไม่เหมือนกับ 7 ดังนั้นคุณยังนำไปคำนวณไม่ได้ในทันที

แปลงทีละชิ้น

ครอบชิ้นข้อมูลด้วย int() เพื่อเปลี่ยนให้เป็นจำนวนเต็มจริง ทำเช่นนี้กับโทเค็นทุกตัวที่คุณต้องการใช้เป็นตัวเลข

x = int("42")

แปลงทั้งหมดด้วย map

แทนที่จะวนซ้ำ map(int, ...) จะใช้ int() กับทุกชิ้นพร้อมกัน โดยทำงานแบบประเมินค่าเมื่อจำเป็นและรวดเร็ว

nums = map(int, input().split())

สร้างเป็นรายการ

map จะคืนอ็อบเจ็กต์ที่ประเมินค่าเมื่อจำเป็น ให้ครอบด้วย list() เมื่อคุณต้องการเข้าถึงด้วยดัชนี ตัดแบ่ง หรือใช้ค่าซ้ำ

nums = list(map(int, input().split()))

แยกค่าจำนวนคงที่

เมื่อคุณทราบแน่ชัดว่ามีค่ากี่ค่า ให้แยกค่าลงในตัวแปรที่ตั้งชื่อไว้โดยตรงภายในบรรทัดเดียว

a, b = map(int, input().split())

สามค่าขึ้นไป

การแยกค่าปรับขนาดได้ตามธรรมชาติ การอ่านตัวเลขสามตัวก็คือการใส่ชื่อสามชื่อลงทางซ้ายของเครื่องหมายเท่ากับ

a, b, c = map(int, input().split())

ใช้ทศนิยมเมื่อจำเป็น

หากค่าเป็นเลขทศนิยม ให้เปลี่ยน int เป็น float ใน map ส่วนอื่นยังคงเหมือนเดิม

vals = list(map(float, input().split()))

เครื่องหมายดอกจันรับค่าที่เหลือ

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

n, *arr = map(int, input().split())

หาผลรวมทันที

เนื่องจาก map สามารถวนอ่านค่าได้ คุณจึงส่งต่อเข้า sum() ได้โดยตรง โดยไม่ต้องสร้างรายการก่อน

total = sum(map(int, input().split()))

ตรวจสอบอย่างรวดเร็ว

โค้ดหนึ่งบรรทัดนี้ให้ผลลัพธ์อะไร

ทบทวน: แยกวิเคราะห์หนึ่งบรรทัด

ชุดคำสั่งที่ควรจำคือ map(int, input().split()): แยกเป็นโทเค็น แปลงแต่ละโทเค็นเป็นตัวเลข แล้วสร้างเป็นรายการหรือแยกค่าตามที่โจทย์ต้องการ 🔢

คำถามที่พบบ่อย

บทเรียน “แยกตัวเลขจำนวนมากในบรรทัดเดียว” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “แยกตัวเลขจำนวนมากในบรรทัดเดียว” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Coding Interview Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Coding Interview Prep มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “แยกตัวเลขจำนวนมากในบรรทัดเดียว”

แยกข้อมูล แปลงเป็นจำนวนเต็ม และกระจายค่าอย่างเรียบร้อย คุณปฏิบัติ Coding Interview Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Coding Interview Prep หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Coding Interview Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “แยกตัวเลขจำนวนมากในบรรทัดเดียว” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Coding Interview Prep นี้ได้ไหม

ได้ บทเรียน Coding Interview Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ศึก input() ปะทะ sys.stdin
  2. แยกตัวเลขจำนวนมากในบรรทัดเดียว
  3. ส่งข้อมูลออกเป็นชุดอย่างถูกวิธี
  4. อ่าน N บรรทัดและกรณีขอบ
← กลับไปที่ Coding Interview Prep