在python中从键盘获取多个输入

2024-06-10 23:59:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个树莓派,我需要从一个3x4键盘使用python得到一个2位数的数字。键盘工作正常,因为我可以得到一个单一的数字,但我一直未能得到2。在

获取单个数字的代码是:

kp=keypad()
digit = None
while digit == None:
      digit = kp.getKey()

print digit

我当前的尝试:

^{pr2}$

我需要能够得到一个2位数的数字,如12或56,但现在只能得到1位数的数字。在


Tags: 代码none数字键盘树莓printdigitwhile
2条回答

好吧,我想好了:

kp = keypad()
list = ['']
digit = None
while True:
      digit = kp.getKey()
      if digit != None and digit != '*':
              list.append(str(digit))
              time.sleep(.5) #otherwise you end up repeating the same number until a new one is pressed 
              digit = None
     elif digit = '*':
              print ''.join(list)
              break

这将一直等到你点击一个或多个键,如果这个键是*那么它会打印你的号码并结束循环。在

希望这能帮助其他人解决这个问题。在

查看原始代码,kp.getKey()偶尔会返回None。编写循环以附加到列表中,直到列表包含两个使用相同逻辑的元素:

lst = []
kp = keypad()
while len(list) < 2:
    digit = kp.getKey()
    if digit is not None:
        lst.append(digit)

print ''.join(lst)

相关问题 更多 >