如何正确使用Python的chr()

时间:2015-03-04 21:09:06

标签: python python-3.x for-loop concatenation chr

我现在正在处理此代码..

message = input("Enter ASCII codes: ")

decodedMessage = ""

for item in message.split():
   decodedMessage += chr(int(item))   

print ("Decoded message:", decodedMessage)

#1st Run:
Enter ASCII codes: 97
Decoded message: a
#2nd Run:
Enter ASCII codes: 9797
Decoded message: ♅

我想要的结果是:aa是97和另外97个ascii代码。 如何才能做到这一点?

  

我想要这样。

ord_username = input("Enter Username:")
letters = str(ord_username)
ordlist=[]
z=""

for letter in letters:
    number = ord(letter)
    ordlist.append(number)


for i in ordlist:
    z += str(i) + ""
print (z)

#1st Run:
Enter Username:a
97
#2nd Run:
Enter Username:ab
9798

1 个答案:

答案 0 :(得分:1)

您希望将您的字符串解释为由3位字符串组成,以“1”或2位数字符串开头,不能以1开头。因此,您可以从头到尾遍历字符串,如果第一个是1个或两个字符,如果不是,则拔出三个字符。这只需要一个简单的方法:

def stringsplit(message):
    message_split = []
    while len(message) > 0:
        if message[0] == '1':
                message_split.append(message[:3])
                message = message[3:]
        else:
                message_split.append(message[:2])
                message = message[2:]
    return message_split

然后,将for item in message.split():替换为for item in stringsplit(message):

警告:Python 2.7实现;你的里程可能会有所不同,但不应该。