Python转换

Python转换,python,Python,我想编写一个Python代码,将用户输入字符串转换为数字,例如: a=01,b=02。。。。z=26而任何数字都只是在前面加上一个0,所以0=00,1=01等等 示例:输入abc123将生成010203010203 我该怎么做呢?我找到了很多方法,可以轻松地将a转换为1,b转换为2,等等,但是前面添加0会使转换复杂化。 注:我对python的理解非常有限 dictionary = {0:'00',1:'01',2:'02',3:'03',4:'04',5:'05',6:'06',7:'07',8

我想编写一个Python代码,将用户输入字符串转换为数字,例如:
a=01,b=02。。。。z=26
而任何数字都只是在前面加上一个0,所以
0=00,1=01等等

示例:输入
abc123
将生成
010203010203

我该怎么做呢?我找到了很多方法,可以轻松地将
a
转换为
1
b
转换为
2
,等等,但是前面添加0会使转换复杂化。 注:我对python的理解非常有限

dictionary = {0:'00',1:'01',2:'02',3:'03',4:'04',5:'05',6:'06',7:'07',8:'08',9:'09','a':'01','b':'02','c':'03','d':'04','e':'05','f':'06','g':'07','h':'08','i':'09','j':10,'k':11,'l':12,'m':13,'n':14,'o':15,'p':16,'q':17,'r':18,'s':19,'t':20,'u':21,'v':22,'w':23,'x':24,'y':25,'z':26}

在很长的时间内,将00、01等设置为字符串是否有效?还是有更简单或更好的方法?我甚至不确定这是否会在上面起作用

如果我理解你的问题,这就行了,尽管这可能不是“最佳实践”


你说你对Python有基本的理解。所以,我带着一个基本的风格来到这里,来实现你的目标

首先,在字典中,必须更改inetegers键以使其成为字符串,即
0
变为
“0”
。你对1,2,3,4,5,6,7,9做同样的事情

现在,这里是最后的代码:

user_input = input("Your input: ")
d = {'0':'00','1':'01','2':'02','3':'03','4':'04','5':'05','6':'06','7':'07','8':'08','9':'09','a':'01','b':'02','c':'03','d':'04','e':'05','f':'06','g':'07','h':'08','i':'09','j':10,'k':11,'l':12,'m':13,'n':14,'o':15,'p':16,'q':17,'r':18,'s':19,'t':20,'u':21,'v':22,'w':23,'x':24,'y':25,'z':26}

user_input = user_input.strip()

results = []

for ch in user_input:
    results.append(d[ch])

final_result = ''.join(results)
print(final_result)
输入:
abc123

输出:
010203010203


“我甚至不确定这是否会在上面起作用”你可以测试一下吗?这不是我问的问题,但谢谢你的回答。哇,太好了,效果非常好。我没想到你会做那么多工作,但我非常感激!这不适用于需要两位数字的字母,例如
z
将是
026
。我也不明白为什么在可以正常迭代字符串的情况下使用正则表达式
用于字符串中的字符
@iz_ui删除正则表达式并更新为帐户字母>i@NickMartin谢谢,回答得好!这没什么大不了的(正确性要重要得多),但通常最好使用更有效的字符串连接方法-请参阅@iz_uu再次更新您的建议:-)为了简单起见,我将
字典
名称更改为
d
user_input = input("Your input: ")
d = {'0':'00','1':'01','2':'02','3':'03','4':'04','5':'05','6':'06','7':'07','8':'08','9':'09','a':'01','b':'02','c':'03','d':'04','e':'05','f':'06','g':'07','h':'08','i':'09','j':10,'k':11,'l':12,'m':13,'n':14,'o':15,'p':16,'q':17,'r':18,'s':19,'t':20,'u':21,'v':22,'w':23,'x':24,'y':25,'z':26}

user_input = user_input.strip()

results = []

for ch in user_input:
    results.append(d[ch])

final_result = ''.join(results)
print(final_result)