热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python获得用户输入控制宽度_如何限制python上的用户输入长度?

SamehFarouk..5使用诅咒还有其他方法,但我认为这是一个简单的方法。您可以使用getkey()或getstr()。但是使用getstr()更简单࿰

Sameh Farouk..

5

使用诅咒

还有其他方法,但我认为这是一个简单的方法。

您可以使用getkey()或getstr()。但是使用getstr()更简单,如果用户愿意,它可以让用户选择输入少于5个字符,但不超过5个字符。我认为这就是您要的。

import curses

stdscr = curses.initscr()

amt = stdscr.getstr(1,0, 5) # third arg here is the max length of allowed input

但是如果您想强制不超过5个字符,则可能要使用getkey()并将其放入for循环中,在此示例程序中,程序将等待用户输入5个字符,然后再继续,甚至无需按回车键键。

amt = ''

stdscr = curses.initscr()

for i in range(5):

amt += stdscr.getkey() # getkey() accept only one char, so we put it in a for loop

注意:

您需要调用endwin()函数将终端恢复到其原始操作模式。

调试curses应用程序时,一个常见的问题是在应用程序死机时弄乱了终端,而又没有将终端恢复到以前的状态。在Python中,这种情况通常发生在您的代码有错误并引发未捕获的异常时。例如,键入键时,键不再在屏幕上回显,这使使用外壳变得困难。

放在一起:

与第一个示例一起,在程序中实现getstr()方法可能像这样:

import curses

def input_amount(message):

try:

stdscr = curses.initscr()

stdscr.clear()

stdscr.addstr(message)

amt = stdscr.getstr(1,0, 5) # or use getkey() as showed above.

except:

raise

finally:

curses.endwin() # to restore the terminal to its original operating mode.

return amt

amount = input_amount('Please enter the amount to make change for: $')

print("$" + amount.decode())



推荐阅读
author-avatar
波波微博1987_704
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有