首页 > 其他分享 >Problem G: 锁屏密码

Problem G: 锁屏密码

时间:2023-04-29 10:33:21浏览次数:28  
标签:数字 字母 锁屏 明文 密码 Problem 对应 Description

Problem Description

在九宫格键盘中,数字和字母在一个按键上面,其中数字2对应的字母是”abc”,3对应的是”def”,4对应的是”ghi”,5对应的是”jkl”,6对应的是”mno”,7对应的是”pqrs”,8对应的是”tuv”,9对应的是”wxyz”。
首先有一个仅包含小写字母的明文密码,如字母tmj,然后,按照九宫格键盘上字母的标注,将每个字母转化为相应的数字按键。如t出现在按键8上,那么其对应的数字为8,则明文密码”tmj”对应的密码为865。
你的任务很简单,就是根据给你的一串明文字母,按照上述规则转化成数字密码。

Input Description

每个测试样例第一行为一个正整数n(n<=10)表示密码的长度。当n为0时,测试结束。
接下来为一行长度为n的仅由小写字母组成的字符串,代表明文密码。

Output Description

每一个样例对应的输出为一行,输出对应的数字密码。

Sample Input

3 
tmj
6
jarily
0

Sample Output

865
527459

ac代码:

 1 def func():
 2     while True:
 3         try:
 4             n = int(input())
 5             if n==0:
 6                 break
 7             x = []
 8             x = input()
 9             x = list(x)
10             decrypt(x,n)
11         except EOFError:
12             break
13 def find(x):
14     if x>='a' and x<='c':
15         return 2
16     if x>='d' and x<='f':
17         return 3
18     if x>='g' and x<='i':
19         return 4
20     if x>='j' and x<='l':
21         return 5
22     if x>='m' and x<='o':
23         return 6
24     if x>='p' and x<='s':
25         return 7
26     if x>='t' and x<='v':
27         return 8
28     if x>='w' and x<='z':
29         return 9
30 def decrypt(x,n):
31     code = [] #接受密码
32     for i in range(n):
33         ans = find(x[i])
34         print(int(ans),end='')
35     print()
36 if __name__ == '__main__':
37     func()

 

 

标签:数字,字母,锁屏,明文,密码,Problem,对应,Description
From: https://www.cnblogs.com/hangsingplus/p/17363667.html

相关文章

  • Problem C: 命令行选项
    ProblemDescription请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔。这些字符串中的第一个为该命令行工具的名字,由小写字母组成,你的程序不用对它进行处理。在工具名字之后可能会包含若干选项,然后......
  • windows server加固(密码策略)
    密码策略设置启用密码复杂度,最短密码长度为8,密码的最小长度为7,最长为30使用win建+R,打开运行输入gpedit.msc回车进入本地策略组编辑器设置允许5次登录错误,账户锁定时间为30分钟,重置账户锁定时间30分钟设置sale用户只能在周一至周五8:00到20:00登录......
  • Problem J: 括号匹配问题
    ProblemDescription在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用......
  • Nacos修改密码
    1.前言:得知nacos在mysql数据库中的加密方式使用的是Bcrypt机密方式,可以使用一下网站加密想要的密码:https://www.jisuan.mobi/p163u3BN66Hm6JWx.html#原来的密码:nacos#加密后是:(在mysql中可以看见)$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu#现在修改密......
  • 如何在ProxySQL中保持散列格式的密码
    在这篇博客文章中,我们将看到如何在ProxySQL mysql_users 中保存哈希格式的密码。此外,即使有人以明文形式存储密码,我们也可以很容易地将其转换成散列格式。纯文本密码极易受到未经授权的访问,因为任何有权访问数据库或配置文件的人都可以轻易地读取它们。虽然将这些文件存储在安......
  • upupw mysql数据库密码初始化
    1、启动upupw2、打开cmd窗口,进入到数据库目录/UPUPW/MariaDB/bin。3、执行命令:mysql -uroot-p;4、用系统提供的密码登录,默认的是:DRsXT5ZJ6Oi55LPQ5、进入mysql管理界面后,执行命令:updateusersetauthentication_string=password("root")whereuser='root'; 提示:Query......
  • NC50454 A Simple Problem with Integers
    题目链接题目题目描述给定数列\(a[1],a[2],\dots,a[n]\),你需要依次进行q个操作,操作有两类:1lrx:给定l,r,x,对于所有\(i\in[l,r]\),将a[i]加上x(换言之,将\(a[l],a[l+1],\dots,a[r]\)分别加上x);2lr:给定l,r,求\(\sum_{i=l}^ra[i]\)的值(换言之,求\(a[l]+a[l+1]+\dots+a......
  • ubuntu22.04取消开机输入密码(实测)
    打开终端sudonano/etc/gdm3/custom.conf在文件的[daemon]部分中添加以下两行代码:[daemon]AutomaticLoginEnable=TrueAutomaticLogin=username保存并关闭,注意usename值的是你自己登录的用户名第二步sudonano/etc/pam.d/gdm-password将下面一行注释掉authrequi......
  • 公钥密码学RSA入门
    RSA算法的具体描述如下:任意选取两个不同的大素数p和q,n=pq,根据欧拉函数(小于n且与n互素的正整数的个数)得:φ(n)=φ(pq)=φ(p)φ(q)=(p-1)(q-1)任意取一个大整数e,满足gcd(e,φ(n))=1,整数e用作密钥确定解密钥d,满足(de)modφ(n)=1,即de=kφ(n)+1,k≥1是一个任意的整数。所以,若知道e和......
  • 001使用HTTPS协议设置免密码提交代码
    一、store模式:将凭证用明文的形式存放在磁盘“home”目录下(默认是“~/.git-credentials”),永不过期,除非手动修改在Git服务器上的密码,否则永远不需要再次输入凭证信息。“git-credentials”文件内容如下:https://username:password@***********.com保存退出后,执行如下命令即可......