ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算输入密码的时间

2022-07-02 16:32:43  阅读:137  来源: 互联网

标签:key keys button time 密码 计算 按钮 input 输入


为了防止被黑客获取到客户输入的密码,某银行在琶陆软件上以屏幕输入法输入密码。该输入法有9个按钮。每个按钮上有不多于3个空母。字母有先后顺序。按第一个字母需
要用鼠标点击按钮一次。第二个字母需要点击2次,第3个字母需要点击3次。
若连续两个字母都在同一个按钮上。则输入第一个字母后需要等待一小段时间。
假设某客户输入习惯是∶点击按钮需要1单位时间,等待一小段时间为2单位时间。某次登陆的时候,9个按钮上的字母分别为 azc dwf gti jal mon pkr shu vex yb
求该客户输入他的密码的时间。
输入∶
该客户的密码都是小写字母[a-z].密码长度<=16

keys = ['azc', 'dwf', 'gti', 'jal', 'mon', 'pkr', 'shu', 'vex', 'yb']
def get_time(input_keys):
    if len(input_keys ) > 16:
        raise Exception('wrong password!!!')
    time = 0
    button_place = None  # 记录上一次点击按钮的位置 
    for place, button_key in enumerate(keys):
        for key in input_keys:
            if key in button_key:
                time = button_key.find(key)+time+1 # 查看输入在按钮按键的位子
                if place == button_place:
                    time += 2 # 判断此密码字母是否是在同一个按键,是则等待两秒
                button_place = place  # 更新按钮当前按钮位置信息
    return time
input_keys = input('请输入密码:')
time = get_time(input_keys)
print(time)

 


————————————————
版权声明:本文为CSDN博主「桦泽」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33528044/article/details/114387420

标签:key,keys,button,time,密码,计算,按钮,input,输入
来源: https://www.cnblogs.com/xuqidong/p/16437798.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有