Python无法理解这个反向程序

2024-05-01 22:05:41 发布

您现在位置:Python中文网/ 问答频道 /正文

这是代码,这个程序的主要目标是向后打印消息

message = 'Here is an example'
translated = ''
i = len(message) - 1
while i >= 0:
    translated = translated + message[i]
    i = i - 1
print(translated)

我不明白的是第3行,消息包含18个字符,但是'I'减去1,所以是17,当你运行这个程序时,每个符号都在那里,第5行打印出带有I的消息(仍然少了1个字符),并且没有任何内容丢失,有人能解释一下为什么所有的东西都在那里吗?我知道你只用两行就可以做到

message = 'Here is an example'
print(message[::-1])

但我想了解更长的程序


Tags: 代码程序an消息message目标lenhere
2条回答

大多数语言的索引都是从0开始的,所以最后一个字符索引的长度是-1

这是从1到0的难题的一个实例

python(和大多数语言)中的列表是基于0的。我们以1为基础的方式思考。换句话说,我们从1开始计数。但是计算机从0开始计数

所以,如果我们想遍历一个列表,我们首先需要从长度中减去一。长度为3的列表将包含3个元素,它们的索引将为0到2。如果尝试访问索引3处的某个内容,则会得到索引越界异常

有帮助吗

相关问题 更多 >