Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menindas Sisipan Baris Baharu dalam Fungsi Input?

Bagaimanakah Saya Boleh Menindas Sisipan Baris Baharu dalam Fungsi Input?

Barbara Streisand
Barbara Streisandasal
2024-10-27 10:04:02298semak imbas

How Can I Suppress the Newline Insertion in Input Functions?

Mengatasi Sisipan Baris Baharu dalam Fungsi Input

Cabaran: Menekan baris baharu ditambah secara automatik selepas fungsi input (mis., input_raw atau input).

Objektif: Mengubah suai raw_input (bersamaan dengan input dalam Python 3.x) untuk menghalang penciptaan baris baharu selepas input pengguna.

Penyelesaian:

Walaupun tidak mungkin untuk menghapuskan sisipan baris baharu sepenuhnya dalam raw_input, penyelesaian yang bijak wujud. Dengan menggunakan arahan pergerakan kursor, kita boleh "memundurkan semula" kursor ke baris yang sama dengan gesaan input.

Untuk mencapai ini, kita boleh menggunakan yang berikut:

print('3[{}C3[1A'.format(len(x) + y))

di mana:

  • x ialah panjang input pengguna.
  • y ialah panjang gesaan raw_input.

Penjelasan:

Jujukan 33[{}C menyebabkan kursor mengalihkan bilangan ruang tertentu ke kanan ({} mewakili nilai integer). Dalam kes ini, kami mengalihkannya ke penghujung input pengguna, memadamkannya dengan berkesan.

Jujukan 33[1A menggerakkan kursor satu baris ke atas, mengembalikannya ke kedudukan gesaan.

Nota: Kaedah ini mungkin tidak berfungsi pada semua terminal. Walau bagaimanapun, pada terminal yang serasi (seperti Kubuntu 14.04), ia menyediakan penyelesaian yang mudah untuk menyekat sisipan baris baharu yang tidak diingini selepas mentah_input atau input.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menindas Sisipan Baris Baharu dalam Fungsi Input?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn