kingdada 发表于 2019-7-18 17:04

python字符串替换的问题

本帖最后由 kingdada 于 2019-7-21 23:24 编辑

我想将键盘1-0的数改为输出”!“-” )“这样的格式 输入12*&( 输出12879 这样子
我已经写过了一种方法 但是觉得如果要添加新的就不方便,写得一看就很菜{:1_907:}
有没有办法用字典的形式或者其他方法实现 求大神帮助一下:lol{:1_893:}
a=input()
b=a.replace('!','1',9)
if '@'in b:
    b=b.replace('@','2',9)
if '#' in b:
    b=b.replace ('#','3',9)
if '$' in b:
    b=b.replace ('$','4',9)
if '%' in b:
    b=b.replace ('%','5',9)
if '^' in b:
    b=b.replace ('^','6',9)
if '&' in b:
    b=b.replace ('&','7',9)
if '*' in b:
    b=b.replace ('*','8',9)
if '(' in b:
    b=b.replace ('(','9',9)
if ')' in b:
    b=b.replace (')','0',9)
print (b)

陌路_ 发表于 2019-7-18 17:26

b={"1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")"}
a=input()
for i in a:
    print(b)

冰露㊣神 发表于 2019-7-18 17:32

Dict = {'1': '!', '0': ')', '3': '#', '2': '@', '5': '%', '4': '$', '7': '&', '6': '^', '9': ')', '8': '*'}
Input = input()
print ("".join(Dict for x in Input))

冰露㊣神 发表于 2019-7-18 17:37

print(''.join([{'1': '!', '0': ')', '3': '#', '2': '@', '5': '%', '4': '$', '7': '&', '6': '^', '9': ')', '8': '*'} for i in input('What do you want to secrify? ')]))

Frame 发表于 2019-7-18 17:40

参考楼上

b={"1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")"}
print('请输入待转换字符:')
a=input()
if a in b :
    print('转换结果为:',b)

kingdada 发表于 2019-7-18 19:26

{:1_924:}好像我表达的意思不太对 应该是如果输入12#$%&*会转换成1234578这样子

kingdada 发表于 2019-7-18 19:29

应该是输入12*())输出128900这样子 我描述错问题了{:1_924:}

kingdada 发表于 2019-7-18 20:52

Frame 发表于 2019-7-18 17:40
参考楼上

b={"1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8": ...

如果输入一个字符串就不行了比如12*&(

kingdada 发表于 2019-7-18 20:53

陌路_ 发表于 2019-7-18 17:26
b={"1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(", ...

如果输入一个字符串就不行了比如12*&(

李莹莹 发表于 2019-7-19 22:14

就是说,输入数字就正常显示,但是输入了大键盘数字一行按键对应的特殊字符,还是显示数字,显示对应位置的数字。
页: [1] 2
查看完整版本: python字符串替换的问题