Len函数未为字符串返回正确的值

时间:2019-12-06 16:04:48

标签: python string-length

因此,我尝试调用已编码消息的长度,然后将该长度除以3(每3个字符代表一个字母)。这是消息:

10311132-10710510810832-121111117114115101108102

破折号设置为直接放在空格或字母a,b或c之后(因为ord函数将这些字符转换为仅2位数字的值,并且程序每个字母需要3位数字)。我有以下代码:

message = (10311132-10710510810832-121111117114115101108102)
message = str(message)
length = len(message)
print(length)

即使字符串为48个字符,代码也返回25。为什么会这样,我该如何解决?

2 个答案:

答案 0 :(得分:3)

因为您已将message初始化为一个整数。您可以通过在其周围加上引号来解决此问题:

message = ('10311132-10710510810832-121111117114115101108102')

此刻,将消息转换为字符串之后,将其执行减号操作的 之后转换为字符串。例如:

>>> message = (10311132-10710510810832-121111117114115101108102)
>>> message
-121111117124825601607802

作为旁注,作业中的方括号是不必要的。您可以这样做:

message = '10311132-10710510810832-121111117114115101108102'

答案 1 :(得分:1)

在第一行

view.window!.rootViewController = destination

已计算出右侧表达式并将其存储为-121111117124825601607802,它表示为字符串,长度为25个字符。

相关问题