Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะป้อนค่าหลายค่าจากผู้ใช้ในหนึ่งบรรทัดใน Python ได้อย่างไร?


หากต้องการอ่านตัวแปรหลายตัวในภาษา C เราเขียนดังนี้ −

//Read three variable in one line
scanf(“%d %d %d”, &x, &y, &z)

ปัจจุบัน python ไม่ได้เทียบเท่ากับ scanf() อย่างไรก็ตาม python มีนิพจน์ทั่วไปที่มีประสิทธิภาพและละเอียดกว่าสตริงรูปแบบ scanf() ใน Python ในการจัดเตรียมค่าต่างๆ จากผู้ใช้ เราสามารถใช้ -

วิธีการป้อนข้อมูล () :โดยที่ผู้ใช้สามารถป้อนค่าได้หลายค่าในบรรทัดเดียว เช่น −

>>> x, y, z = input(), input(), input()
40
30
10
>>> x
'40'
>>> y
'30'
>>> z
'10'

จากผลลัพธ์ข้างต้น คุณจะเห็นว่าเราสามารถกำหนดค่าให้กับตัวแปรสามตัวในบรรทัดเดียวได้

เพื่อหลีกเลี่ยงการใช้วิธีการ input() หลายวิธี (ขึ้นอยู่กับจำนวนค่าที่เรากำลังส่ง) เราสามารถใช้ list comprehension หรือ map() ได้

ส่งผ่านหลายค่าโดยใช้การทำความเข้าใจรายการ

>>> x,y,z = [int(x) for x in input().split()]
9 12 15
>>> x
9
>>> y
12
>>> z
15

ในบรรทัดโค้ดด้านบน ฉันได้พิมพ์ค่าอินพุตเป็นจำนวนเต็ม ในกรณีที่คุณไม่ต้องการ &อินพุตของคุณเป็นแบบผสม คุณสามารถพิมพ์ −

>>> x,y,z = [x for x in input().split()]
40 10 "hello"

การใช้ฟังก์ชันแผนที่

อีกวิธีในการส่งผ่านค่าหลายค่าจากผู้ใช้คือการใช้ฟังก์ชันแผนที่

>>> x,y,z = map(int, input().split())
40 54 90
>>> x
40
>>> y
54
>>> z
90