任何人都可以向我解释这段代码吗?我不太明白。将单词转换为Unicode
为什么我需要声明
uniMessage = ""
这里有什么用处?有时当我编码时,我意识到我需要事先声明,但有时我不需要。为什么我需要使用
+=
并将用户输入的字转换为str
?是不是+=
就像unicode = unicode + str(ord(char))
?我没有看到+=
在这里的影响,为什么我不能只使用=
。如果我认为用户输入的消息已经是一个字符串?为什么我需要再次将它转换为str
?另外它没有必要将
convMessage += chr(int(alphabet))
转换为整数是不是?message = input("Enter a word ") uniMessage = "" for char in message: uniMessage += str(ord(char)) print("Unicode message:", uniMessage) convMessage = "" for i in range(0, len(uniMessage)-1, 2): alphabet = uniMessage[i] + uniMessage[i+1] convMessage += chr(int(alphabet)) print("Orginal message:", convMessage)
为什么我不能编码'uniMessage = str(ord(char))'因为它被声明为没有值?不应该有任何影响不是吗? 'uniMessage + str(ord(char))'中的'uniMessage'似乎不做任何事情? –
你可以为一个字符输入写'uniMessage = str(ord(char))',但是你正在处理的用户输入可能超过1个字符,这就是为什么你把'uniMessage + = str(ord(char ))'在'for'循环中。你需要将每个字符的代码添加到“编码”字符串,就像一个积累,就像一个总和。 –