【发布时间】:2019-12-09 07:25:03
【问题描述】:
我正在编写代码以在输入特定的数字字符串时提醒用户。代码运行似乎按预期运行,但当它应该给我“12345”时输出“1122334455”:
import sys
sys.path.append('..')
import keyboard
line = ''
ISBN10 = ''
number = ""
def print_pressed_keys(e):
global line, ISBN10, number
line = line.join(str(code) for code in keyboard._pressed_events)
if line == "2":
number = 1
elif line == "3":
number = 2
elif line == "4":
number = 3
elif line == "5":
number = 4
elif line == "6":
number = 5
elif line == "7":
number = 6
elif line == "8":
number = 7
elif line == "9":
number = 8
elif line == "10":
number = 9
elif line == "11":
number = 0
ISBN10 = ISBN10 + str(number)
if len(ISBN10) > 10:
ISBN10 = ISBN10[1:11]
print("ISBN10: " + ISBN10)
keyboard.hook(print_pressed_keys)
keyboard.wait()
输出是:
ISBN10: 1
ISBN10: 11
ISBN10: 112
ISBN10: 1122
ISBN10: 11223
ISBN10: 112233
应该是这样的:
ISBN10: 1
ISBN10: 12
ISBN10: 123
【问题讨论】: