python中的isdigit()函数和isupper()函数,附联系题简单密码

一、isdigit()函数的用法:
判断单个字符是否为数字
判断字符串中是否仅含有数字

二、Python中isupper() 方法检测字符串中所有的字母是否都为大写。
上代码:

if i.isupper()    #判断i是不是大写的情况

三、ord()函数用于转换ASCII码
四、华为机试例子

现在有一种密码变换算法。 九键手机键盘上的数字与字母的对应: 1–1, abc–2, def–3, ghi–4, jkl–5,
mno–6, pqrs–7, tuv–8 wxyz–9, 0–0,把密码中出现的小写字母都变成九键键盘对应的数字,如:a 变成
2,x 变成 9. 而密码中出现的大写字母则变成小写之后往后移一位,如:X ,先变成小写,再往后移一位,变成了 y ,例外:Z 往后移是 a
。 数字和其它的符号都不做变换。 数据范围: 输入的字符串长度满足 1 \le n \le 100 \1≤n≤100 输入描述:
输入一组密码,长度不超过100个字符。

输出描述: 输出密码变换后的字符串

示例1 输入: YUANzhi1987 输出: zvbo9441987

以下为代码及对应思路:

while True:
    try:
        s1=input()
        result=[]
        for i in s1:
            if i.isdigit():#检测字符串是否只由数字组成,只对 0 和 正数有效。
                result.append(i)
            elif i.isupper() and i!='Z':#判断字符c是否为大写英文字母。
                
                result.append(chr(ord(i.lower())+1))
                #如果是大写字母,则先把大写字母转化成小写(lower()),再转成ascii码(ord()函数)+1,在转成对应字符(chr函数)。
            elif i=='Z':
                result.append('a')
            else:
                if i in 'abc':
                    result.append('2')
                elif i in 'def':
                    result.append('3')
                elif i in 'ghi':
                    result.append('4')
                elif i in 'jkl':
                    result.append('5')
                elif i in 'mno':
                    result.append('6')
                elif i in 'pqrs':
                    result.append('7')
                elif i in 'tuv':
                    result.append('8')
                elif i in 'wxyz':
                    result.append('9')
        print(''.join(result))
    except:
                break
                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值