Python ord(c)和chr(n)是做什么的?这个代码输出什么?为什么?我主要不理解下面的代码
我需要帮助理解ord()和chr()函数在ASCII代码中的作用。我也有一些代码,我想知道为什么它会输出它的功能 我一直在试图破解这段代码到底是如何工作的。我不知道它是如何以及为什么只输出随机字母的Python ord(c)和chr(n)是做什么的?这个代码输出什么?为什么?我主要不理解下面的代码,python,python-3.x,ascii,Python,Python 3.x,Ascii,我需要帮助理解ord()和chr()函数在ASCII代码中的作用。我也有一些代码,我想知道为什么它会输出它的功能 我一直在试图破解这段代码到底是如何工作的。我不知道它是如何以及为什么只输出随机字母的 message = '' for letter in 'secret': number = ord(letter) newNumber = number + 1 newLetter = chr(newNumber) message = message + newLet
message = ''
for letter in 'secret':
number = ord(letter)
newNumber = number + 1
newLetter = chr(newNumber)
message = message + newLetter
print(message)
我没有错误消息,因为我的老师写了:D,lol。但是,它输出了“tfdsfu”,这是正确的,但我不知道为什么。ord()
提供了字符的整数表示。看一看ASCII表,找出它们是什么A'的ASCII值为65,'B'的ASCII值为66,依此类推
chr()
则相反。给定一个整数值,它将其转换为字符<代码>chr(65)='A'
如果取'A'
的序数值,则得到65。如果添加1并将其转换回,则会得到chr(66)
,或'B'
这也适用于unicode字符(尽管这与您问题中的代码无关)。查找
ord
(获取asciis整数值)和chr
(将整数值转换回字符)所做的操作。当它就位时,代码只是抓取下一个ascii字符(a
变成b
)。顺便说一句,将来你应该先阅读官方文档,然后再问一个你本可以轻松回答的问题。为了完整起见,你应该在Python 3+中提到字符和整数之间的映射基于Unicode,而不是ASCII。