Nhập dữ liệu cho đến khi nhấn enter

Có một số cách để kiểm tra xem phím ENTER có được nhấn hay không trong Python. Chúng tôi sẽ thảo luận về các phương pháp sau trong bài viết này

Phương pháp 1. Sử dụng hàm input[]

Trong Python, hàm input[] cho phép đầu vào từ người dùng. Khi dấu nhắc đầu vào được bắt đầu, nó có thể được thoát bằng cách nhấn phím ENTER. Hàm input[] sẽ trả về giá trị do người dùng nhập vào và quá trình thực thi chương trình sẽ tiếp tục khi nhấn ENTER. Hãy xem một ví dụ

1

2

3

4

5

6

7

input1 = input["Nhấn ENTER. "]  # sử dụng raw_input trong python2

if input1 == "".

    # Ghi lại các tình huống mà đầu vào chỉ là phím ENTER

    in["Bạn đã nhấn ENTER. "]

khác.

    # Nếu các ký tự khác được nhấn trước ENTER, nó sẽ được ghi lại ở đây.

    in[f"Bạn đã nhập '{input1 . "]

Đầu ra [lần thực hiện đầu tiên]

1

2

Nhấn ENTER.

Bạn nhấn ENTER.

Đầu ra [lần thực hiện thứ hai]

1

2

Nhấn ENTER. Tomasz Decker

Bạn đã nhập 'Tomasz Decker' trước khi nhấn < . ENTER.

Trong lần thực hiện đầu tiên, ENTER được nhấn trên dấu nhắc. Điều này nắm bắt những gì chúng tôi muốn. Mặt khác, lần thực hiện thứ hai cho thấy điều ngược lại. Các ký tự khác được nhập trước khi nhấn ENTER

Phương pháp 2. Sử dụng gói getkey

Mô-đun getkey được sử dụng để đọc các lần nhấn phím đơn. Trong ví dụ sau, chúng tôi sử dụng gói để đọc các phím được nhấn và thoát khỏi vòng lặp while khi nhấn phím ENTER. Gói có thể được cài đặt bằng pip với lệnh sau

python3 -m pip3 cài đặt getkey

1

2

3

4

5

6

7

8

9

10

11

from getch import getch

trong khi Đúng.

    char = get[]

    # ký tự in đã được nhấn

    # ký tự ENTER không có gì hiển thị nên chúng ta cần sử dụng hàm repr[]

    in[char]

    # repr[char] trả về một đại diện có thể in được của "char"

    # ENTER có giá trị in được "\n" [ký tự xuống dòng]

    in[repr[char]]

    if char == "\n"< . :

        # Điều này chụp "ENTER"

        nghỉ

Phương pháp 3b. Sử dụng gói mvcrt trong Windows

Không giống như getch được sử dụng trong Linux, mvcrt. getch[] đọc phím ENTER dưới dạng ký tự xuống dòng [“\r”]. mvcrt. getch[] tìm nạp phím được nhấn ở định dạng byte; . Việc thực thi vòng lặp while trong đoạn mã bên dưới sẽ bị ngắt khi nhấn phím ENTER

1

2

3

4

5

6

7

8

9

# "python3 -m pip install pynput" if pynput is not installed.

từ pynput. bàn phím nhập Phím, Trình nghe

def show[key]:

    Đã nhấn # phím in

    in["\nBạn đã nhập {}". định dạng[khóa]]

    if key == Key.nhập.

        # Giải phóng/ Dừng trình nghe nếu nhấn phím ENTER

        trả về Sai

# Thu thập tất cả các sự kiện cho đến khi phát hành

với Trình nghe[on_press=show] as listener:

    người nghe. tham gia[]

Phương pháp 5. Sử dụng gói bàn phím

Gói bàn phím không có sẵn trong Python nhưng có thể được cài đặt bằng pip. Ngoài ra, bạn cần phải là người dùng root để cài đặt và sử dụng bàn phím trong Linux và macOS. Vì lý do đó, chúng ta cần gọi sudo khi cài đặt gói

Sudo pip3 cài đặt bàn phím

Đối với Windows, bạn có thể cài đặt và sử dụng gói bàn phím bình thường. Sử dụng lệnh sau trên Command Prompt hoặc Windows Powershell để cài đặt gói. “bàn phím gỡ cài đặt python3 -m pip”

Tập tin. nhấn_enter3. py

1

2

3

4

5

6

7

8

nhập bàn phím

trong khi Đúng.

    # Phím in được nhấn

    in[bàn phím. read_key[]]

    nếu bàn phím. được_ép["enter"]:

        # Ngắt nếu nhấn phím ENTER

        in["Bạn đã nhấn Enter"]

Chủ Đề