2017-02-22 88 views
1

具有用于引脚输入的触摸式数字键盘的银行金库系统很容易被盗贼误用。小偷可以使用照相机,他们自己或甚至其他人查看4位数字引脚进入时的模式;因此他们不需要知道引脚的实际值,只需按下一系列按钮即可进入系统。为了克服这个致命的缺陷,可以使用具有数字键盘GUI的触摸屏显示器,每次输入引脚时都会对键进行混洗,而不管它是否正确。调换触摸屏键盘按钮[PYTHON]

有人发布了类似问题的答案,但没有随机播放功能。 Need a Gui Keypad for a touchscreen that outputs a pin when code is correct

我一直在玩弄上面链接中发布的问题的答案中的代码,只要输入'#'但尝试洗牌列表'键',但它不起作用。你们有没有想法如何制作一个触摸屏图形用户界面键盘与数字洗牌每天'接收'#'?

回答

0

使用相同的代码从你的链接发布到生成按键矩阵:

import random 

keys = [ 
    ['1', '2', '3'],  
    ['4', '5', '6'],  
    ['7', '8', '9'],  
    ['*', '9', '#'],  
] 

for key in keys: 
    random.shuffle(key) 
    #optionally we can also shuffle the keys list 
    random.shuffle(keys) 

您可以使用print(keys)检查在多个运行的选择。我相信有更简单的方法可以做到这一点,但这很简单。

编辑: 我最初并没有检查该线程的答案。您可以使用random.shuffle(key)来部分混洗键盘上显示的3个按键的顺序,并使用另外一个random.shuffle(keys)重新整理列表。

+0

这似乎不适用于我。 print(keys)命令向我显示它正在洗牌列表,但GUI不更新。 – greatgamer34

+0

我相信我需要配置一个文本变量,但我不知道该怎么做。 – greatgamer34