แยกตัวเลขจำนวนมากในบรรทัดเดียว
แยกข้อมูล แปลงเป็นจำนวนเต็ม และกระจายค่าอย่างเรียบร้อย
แยกตัวเลขจำนวนมากในบรรทัดเดียว เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ศึก input() ปะทะ sys.stdin
- แยกตัวเลขจำนวนมากในบรรทัดเดียว
- ส่งข้อมูลออกเป็นชุดอย่างถูกวิธี
- อ่าน N บรรทัดและกรณีขอบ