当前位置 博文首页 > Python input()函数用法大全

    Python input()函数用法大全

    作者:弓长无忌 时间:2021-06-27 16:47

    input()函数获取用户输入数据,实现用户交互

    语法格式: 变量 = input("提示信息")

    input()返回的是字符串,无论输入的是数字还是字符串,默认的输入结束键是回车键

    input()函数有一些特殊的用法

    用法1:通过if判断或iter()函数的哨兵值用法让input()遇到回车键也能持续输入

    txt = ''
    while True:
        k = input()
        if k == 'quit':
            break
        txt += k + '\n'
    print('*****以下是输出内容*****')
    print('txt:\n'+txt)

    效果如下:

    这样我们就可以让input()好像忽略掉了回车键,可以持续输入内容,输入quit之后敲回车才结束

    也可以使用iter()函数的哨兵值用法

    end_str = "end"  # 重新定义结束符
    txt = ""
    for line in iter(input, end_str):  # 接收输入,使用了iter的哨兵值用法
        txt += line + "\n"  # 拼接输入内容并追加换行
    print('*****以下是输出内容*****')
    print('txt:\n' + txt)

    用法2:限制用户的输入内容,比如只能输入字母

    方式1:在输出结果上进行过滤,可以用正则表达式实现

    import re
    
    while True:
        txt = input()
        txt = re.sub('[^a-zA-Z]', '', txt)
        print(txt)

    效果如下:

    方式2:在键盘上输入上进行限制,使用pynput第三方库可以对用户的键盘进行监听和操作

    from pynput.keyboard import Listener
    import threading
    
    
    def listening():
        def on_press(key):
            try:
                if not (65 <= key.vk <= 90):  # 65~90是键盘a~z的编码值
                    print('\b', end='')  # \b是退格符,相当于键盘Backspace
            except AttributeError:
                pass
    
        with Listener(on_press=on_press) as listener:
            listener.join()
    
    
    threading.Thread(target=listening).start()
    while True:
        txt = input()
        print(txt)

    效果如下:

    这样的话就只能输入字母了,输入别的内容都会被删掉。

    !!!不过实测监控输入不够灵敏,偶发不能识别,不知道是不是电脑太卡的原因

    以上用法1、2为转载,原文链接:

    https://blog.csdn.net/FujLiny/article/details/109554623

    js
    下一篇:没有了