วางหลายบรรทัด (อ่านเป็นบรรทัดเดียว / อินพุต) ลงในคอนโซล Spyder

Jan 14 2021

ดังนั้นสมมติว่าฉันต้องรับ 3 อินพุตจากผู้ใช้ (ชื่ออายุสถานที่):

Jim Halpert
30
Scranton

และฉันเขียนโค้ดดังนี้:

name = input()
age = input()
location = input()

ตอนนี้แทนที่จะพิมพ์ทีละรายการฉันแค่คัดลอกและวางจากไฟล์ข้อความ แต่เมื่อฉันวางลงในคอนโซลจะไม่ถูกอ่านเป็นอินพุตแยกต่างหาก ในความเป็นจริงมีดังต่อไปนี้:

Jim Halpert
...: 30
...: Scranton

คำถามของฉันคือมีวิธีใดบ้างที่ฉันสามารถทำให้ Spyder อ่านเป็นอินพุตแยกกันได้? ขอขอบคุณสำหรับความช่วยเหลือของคุณ.

คำตอบ

2 RichardD Jan 14 2021 at 10:04

คุณสามารถใช้ .splitlines ()


name, age, location  = input().splitlines()
print(name)
print(age)
print(location)

ตัวแปรทั้งสามจะถูกจัดเก็บเป็นสตริงในกรณีนี้ หากคุณทำคณิตศาสตร์ตามอายุคุณจะต้องแปลง

age = int(age)

หากอินพุตทั้งหมดเป็น ints ตัวอย่างเช่นคุณสามารถทำได้

x, y, z = [int(x) for x in input().splitlines()]