Đầu vào được phân tách bằng dấu cách python

Vì vậy, bạn đã bắt đầu lập trình cạnh tranh, nhưng gặp khó khăn trong việc lấy đầu vào và định dạng đầu ra ngay cả ở những thứ đơn giản nhất?

Ảnh của Fabian Grohs trên BaptInput

Hầu hết các vấn đề yêu cầu bạn nhập các loại đầu vào khác nhau, vì vậy đây là một số kỹ thuật quan trọng

1. Lấy đầu vào duy nhất

Nếu bạn chỉ muốn lấy 1 đầu vào thì bạn chỉ cần dùng hàm

I love pythonl = list[input[].split[]]
2 rồi convert sang kiểu bạn muốn. Ví dụ-

Đối với chuỗi sử dụng

I love pythonl = list[input[].split[]]
3

Đối với số nguyên sử dụng

I love pythonl = list[input[].split[]]
4

Đối với số dấu phẩy động hoặc số thập phân, hãy sử dụng

I love pythonl = list[input[].split[]]
5

2. Lấy một số đầu vào đã biết

Nếu bạn muốn lấy một số đầu vào cố định được phân tách bằng dấu cách [ví dụ: kích thước của ma trận] thì bạn sử dụng kỹ thuật sau

Đối với chuỗi

I love pythonl = list[input[].split[]]
6

Điều này sẽ gán một trong hai chuỗi được phân tách bằng dấu cách cho cả m và n tương ứng

Đối với số nguyên và số float

I love pythonl = list[input[].split[]]
7 hoặc
I love pythonl = list[input[].split[]]
8

Như chúng ta biết rằng

I love pythonl = list[input[].split[]]
9 trả về một iterable, vì vậy những gì chúng ta làm là chuyển đổi từng đối tượng thành số nguyên bằng cách sử dụng
1 2 3 4 5 6 7l = list[map[int,input[].split[]]
0, áp dụng một hàm [trong trường hợp của chúng ta là
1 2 3 4 5 6 7l = list[map[int,input[].split[]]
1] cho mọi đối tượng của iterable

Nếu bạn có hai đối số nhưng bạn không muốn hai đối số lãng phí một biến cho một trong số chúng thì bạn có thể sử dụng

1 2 3 4 5 6 7l = list[map[int,input[].split[]]
2 thay cho nó, ví dụ:

Bạn chỉ muốn lấy số nguyên thứ nhất và thứ ba trong biến m và n, trong ví dụ dưới đây thì bạn sẽ sử dụng đoạn mã sau-

I love pythonl = list[input[].split[]]
1

3. Lấy một số lượng đầu vào thay đổi

Để lấy một số lượng đầu vào được phân tách bằng dấu cách, chúng tôi thường gán chúng cho một danh sách nhưng bạn cũng có thể sử dụng set hoặc tuple theo yêu cầu của mình

Đối với chuỗi -

I love pythonl = list[input[].split[]]

Giá trị của l sẽ là

1 2 3 4 5 6 7l = list[map[int,input[].split[]]
3

Đối với số nguyên hoặc số float -

________số 8

Giá trị của l sẽ là

1 2 3 4 5 6 7l = list[map[int,input[].split[]]
4

Nếu bạn muốn bộ hoặc bộ, hãy sử dụng

1 2 3 4 5 6 7l = list[map[int,input[].split[]]
5 hoặc
1 2 3 4 5 6 7l = list[map[int,input[].split[]]
6 thay vì
1 2 3 4 5 6 7l = list[map[int,input[].split[]]
7

4. Nhận bản sửa lỗi và một số đầu vào có thể thay đổi

Nếu bạn muốn lưu trữ các giá trị bắt đầu trong các biến và các giá trị còn lại trong một danh sách thì chúng tôi sử dụng

1 2 3 4 5 6 7l = list[map[int,input[].split[]]
8, hãy xem xét các ví dụ sau

I love pythonl = list[input[].split[]]
0

Chúng tôi sẽ nhận được

1 2 3 4 5 6 7l = list[map[int,input[].split[]]
9 và
I love pythonl = list[input[].split[]]
00

Một ví dụ phức tạp hơn một chút sẽ là

I love pythonl = list[input[].split[]]
3

Chúng tôi sẽ nhận được

I love pythonl = list[input[].split[]]
01 và
I love pythonl = list[input[].split[]]
02

Tôi hy vọng bây giờ bạn đã có ý tưởng về việc sử dụng bất kỳ loại đầu vào nào được phân tách bằng dấu cách trong python

đầu ra

Xuất dữ liệu sẽ không khó lắm, các trường hợp duy nhất có thể xảy ra là

1. Xuất trên các dòng khác nhau

Gần 90% bài toán sẽ yêu cầu bạn xuất theo cách này. Rất đơn giản, hãy xem xét ví dụ sau -

I love pythonl = list[input[].split[]]
6

Đầu ra sẽ là-

I love pythonl = list[input[].split[]]
7

2. Xuất trong cùng một dòng

Nếu muốn xuất kết quả ra cùng dòng thì bạn sẽ phải sử dụng thuộc tính

I love pythonl = list[input[].split[]]
03 của
I love pythonl = list[input[].split[]]
04

I love pythonl = list[input[].split[]]
0

Đầu ra sẽ là

I love pythonl = list[input[].split[]]
05

3. Kỹ thuật xuất nâng cao

Một số vấn đề như kẹt mã Google và khởi động yêu cầu bạn đề cập đến số trường hợp với đầu ra vì chúng tôi sử dụng kỹ thuật giống như C để in đầu ra

Ví dụ -

I love pythonl = list[input[].split[]]
2

Điều này sẽ cho đầu ra sau

I love pythonl = list[input[].split[]]
3

Điều đang xảy ra ở đây là

I love pythonl = list[input[].split[]]
06 đang hoạt động như một trình giữ chỗ cho một biến được cung cấp trong
I love pythonl = list[input[].split[]]
07 giống như
I love pythonl = list[input[].split[]]
08 trong C. Dưới đây là một số ví dụ-

I love pythonl = list[input[].split[]]
0

Đầu ra-

I love pythonl = list[input[].split[]]
1

Đến bây giờ tôi hy vọng bạn đã hiểu tất cả các kỹ thuật đầu vào và đầu ra được sử dụng trong lập trình cạnh tranh trong python

Nếu bạn muốn xem một số vấn đề đã được giải quyết trên Hackerearth và Hackerrank thì đây là các liên kết đến kho github của một số vấn đề đã được giải quyết của tôi trên cả hai nền tảng [hầu hết tất cả các giải pháp đều có liên kết đến vấn đề được nhận xét trong dòng đầu tiên]

Chủ Đề