Python新手。谁能给我解释一下这行代码吗?
所以我是Python新手,我正在学习我购买的Python课程,他们有一个小测验。最后一个问题是打印字符串的最后6个字母。代码如下:Python新手。谁能给我解释一下这行代码吗?,python,Python,所以我是Python新手,我正在学习我购买的Python课程,他们有一个小测验。最后一个问题是打印字符串的最后6个字母。代码如下: welcome_message = "Hello and welcome to the land of Python" print(f"The last 6 letters of the welcome message:\n'{welcome_message}'\nare: '{welcome_message[len(welcome_
welcome_message = "Hello and welcome to the land of Python"
print(f"The last 6 letters of the welcome message:\n'{welcome_message}'\nare: '{welcome_message[len(welcome_message)-6:]}'")
然后,输出将是:
The last 6 letters of the welcome message:
'Hello and welcome to the land of Python'
are: Python
这是来自解决方案。我不明白这里发生了什么:“{welcome\u message[len(welcome\u message)-6::][code>
我不明白为什么解决方案包含len()
函数
为什么我不能只做{welcome_message[-6:}
'
?您也将获得相同的输出。
在python-1中,索引与上一个索引相同,当它为空时,表示开始或结束,这取决于您将它放在哪里。例如
welcome_message[:]
将打印整个字符串
至于你的问题,你可以使用welcome\u message[34:][/code>,而不是把自己算在内,更好的写作方式是welcome\u message[len(welcome\u message)-6:][/code>。
但是一个更好的写作方式是你指出的解决方案,即,
welcome\u message[-6::][/code>您也将获得与此相同的输出。
在python-1中,索引与上一个索引相同,当它为空时,表示开始或结束,这取决于您将它放在哪里。例如
welcome_message[:]
将打印整个字符串
至于你的问题,你可以使用welcome\u message[34:][/code>,而不是把自己算在内,更好的写作方式是welcome\u message[len(welcome\u message)-6:][/code>。
但是一个更好的写作方式是你指出的解决方案,即,
欢迎信息[-6:][/code>
打印(f“欢迎留言的最后6封信:\n'{欢迎留言}'\n地址:{欢迎留言[len(欢迎留言)-6:::}')
下面是正在发生的事情欢迎消息是一个变量,可以有无限个字母/字符/数字/符号/字符串等。。系统不知道的第一手资料。。。
所以欢迎消息[len…]首先查找字符串中有多少个字符,而不是单词。。。我之所以说字符,是因为我们为len()
函数提供了welcome\u message变量,该变量只有一个字符串。。。到目前为止,我希望我能解释到底发生了什么
{welcome\u message[len(welcome\u message)]}
然后它只是从len()返回的计数中进行的简单的-6算术运算
打印(f“欢迎留言的最后6封信:\n'{欢迎留言}'\n地址:{欢迎留言[len(欢迎留言)-6:::}')
下面是正在发生的事情欢迎消息是一个变量,可以有无限个字母/字符/数字/符号/字符串等。。系统不知道的第一手资料。。。
所以欢迎消息[len…]首先查找字符串中有多少个字符,而不是单词。。。我之所以说字符,是因为我们为len()
函数提供了welcome\u message变量,该变量只有一个字符串。。。到目前为止,我希望我能解释到底发生了什么
{welcome\u message[len(welcome\u message)]}
然后它只是从len()返回的计数中进行的简单的-6算术运算
这里的welcome_消息存储的字符串是“Hello and welcome to the land of Python”
在打印时,如果我们将\n
添加到字符串中,它将在应答中输出一个换行符
len(欢迎信息)-6=39-6=33
在字符串切片s[i://code>中,它将以字符串的形式给出输出,其中包括从i
到字符串末尾的字符
因此,welcome\u message[len(welcome\u message)-6::
将输出索引33到39的字符
请记住,“
也是字符串的一个字符
这里的welcome_消息存储的字符串是“Hello and welcome to the land of Python”
在打印时,如果我们将\n
添加到字符串中,它将在应答中输出一个换行符
len(欢迎信息)-6=39-6=33
在字符串切片s[i://code>中,它将以字符串的形式给出输出,其中包括从i
到字符串末尾的字符
因此,welcome\u message[len(welcome\u message)-6::
将输出索引33到39的字符
请记住,“
也是字符串的一个字符
“为什么我不能只做{welcome_message[-6::}}”?”-你可以。并非所有找到的代码都是好代码。len
是字符串的长度。所以你要打印从长度-6到字符串末尾的所有内容,换句话说,最后6个字符。你可以两种方式都可以。是的,你可以这样做,有多种方式编码同一件事,根据经验,一个人可以编写干净简单的代码。“为什么我不能只做{welcome_message[-6:]}?”-你可以。并非所有找到的代码都是好代码。len
是字符串的长度。因此,你正在打印从长度-6到字符串末尾的所有内容,换句话说,最后6个字符。你可以两种方式都可以。是的,你可以这样做,有多种方式编码同一件事,根据经验,一个人可以编写干净简单的代码。啊,我现在完全明白了。基本上是39-6。39来自len()函数,-6来自最后六个字母。谢谢确切地len()
是Python开箱即用提供的内置函数之一,这里是此类函数的完整列表,我认为您应该随时准备好。。。另外,如果我的答案为您提供了解决方案,请将其标记为答案,这对StackOverflow很有帮助啊,我现在完全明白了。基本上是39-6。39来自len()函数,-6来自最后六个字母。谢谢确切地len()
是Python开箱即用提供的内置函数之一,这里是此类函数的完整列表,我认为您应该随时准备好。。。如果我的回答给你提供了一个