Python 函数ord()的功能
有人能解释一下ord在这段代码中的作用吗? 该代码旨在将写为字符串的数字相乘(不使用int() ord(d)-ord('0')如何最终返回正确的结果。我不明白ord到底做什么Python 函数ord()的功能,python,string,ord,Python,String,Ord,有人能解释一下ord在这段代码中的作用吗? 该代码旨在将写为字符串的数字相乘(不使用int() ord(d)-ord('0')如何最终返回正确的结果。我不明白ord到底做什么 ord('0')是否总是48(这是我打印时得到的)?返回一个整数,表示字符的Unicode代码点。是一个接受字符并返回Unicode将该字符与之关联的数字的函数。unicode构造数字0-9ord(“9”)-ord(“0”)的方式将导致9ord的0是48,数字从那里开始计数:“1”是49,“2”是50,等等。该代码删除un
ord('0')是否总是48(这是我打印时得到的)?返回一个整数,表示字符的Unicode代码点。是一个接受字符并返回Unicode将该字符与之关联的数字的函数。unicode构造数字0-9
ord(“9”)-ord(“0”)
的方式将导致9
ord
的0是48,数字从那里开始计数:“1”是49,“2”是50,等等。该代码删除unicode中数字的偏移量,以便获得数字的顺序。因此,ord(“2”)-ord(“0”)
的计算结果为50-48
,即2
ord
的倒数是chr
,它将返回给定数字的字符chr(48)
是“0”
您可以使用这些函数,也可以查看一个(包含在unicode中)来了解更多关于字符在计算机中的表示方式。您是否阅读了ord
的文档?
def multiply(num1, num2):
"""
:type num1: str
:type num2: str
:rtype: str
"""
res1, res2 = 0, 0
for d in num1:
print(d)
print(ord(d))
print(ord('0'))
res1 = res1 * 10 + (ord(d) - ord('0'))
for d in num2:
res2 = res2 * 10 + (ord(d) - ord('0'))
return str(res1 * res2)