Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để nhập nhiều giá trị từ người dùng trong một dòng bằng Python?

Để đọc nhiều biến trong ngôn ngữ C, chúng ta viết một cái gì đó như -

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

Hiện tại python không có tương đương với scanf (). Tuy nhiên, python cung cấp các biểu thức chính quy mạnh hơn và dài hơn các chuỗi định dạng scanf (). Trong Python, để cung cấp nhiều giá trị từ người dùng, chúng ta có thể sử dụng -

phương thức input ():nơi người dùng có thể nhập nhiều giá trị vào một dòng, như -

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

Từ kết quả trên, bạn có thể thấy, chúng tôi có thể cung cấp giá trị cho ba biến trong một dòng.

Để tránh sử dụng nhiều phương thức input () (phụ thuộc vào số lượng giá trị mà chúng ta đang chuyển), chúng ta có thể sử dụng hàm hiểu danh sách hoặc map ().

Chuyển nhiều giá trị bằng cách sử dụng tính năng hiểu danh sách

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

Trong dòng mã trên, tôi đã đánh máy các giá trị đầu vào thành số nguyên. Trong trường hợp bạn không muốn điều đó và đầu vào của bạn thuộc loại hỗn hợp, bạn có thể chỉ cần nhập -

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

Sử dụng chức năng bản đồ

Một cách khác để chuyển nhiều giá trị từ người dùng là sử dụng chức năng bản đồ.

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