0

私は現在、このコードに取り組んでいます..

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: ♅

私が望む結果は次のとおりです。97 と別の 97 の ASCII コードからの aa です。これはどのように行うことができますか?

こうなりたい。

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
4

1 に答える 1

1

文字列を「1」で始まる 3 桁の文字列、または 1 で開始できない 2 桁の文字列で構成されていると解釈したい場合。最初の文字が 1 文字の場合は文字、そうでない場合は 2 文字。これには単純な方法が必要です。

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 の実装。走行距離は異なる場合がありますが、そうすべきではありません。

于 2015-03-04T22:07:59.143 に答える