【问题标题】:Stuck with a simple code卡住了一个简单的代码
【发布时间】:2018-04-06 16:55:03
【问题描述】:

所以我有这个代码:

print("immutable"[-5:][:3]==9)

(我对在 python 3 中进行编码非常陌生,我了解我的代码应该做什么,或者更确切地说,我正在尝试做的是计算“不可变”这个词的长度)

但我无法弄清楚输出是“假”的方式或原因。

我什至尝试过使用 len(9) 或 ==[9] 中的代码,更改数字等。那些时候我得到一个错误,我明白为什么,但我就是无法理解关于为什么我得到“错误”,我无法理解它的原因也可能只是因为我对这段代码视而不见,但我想要任何我能得到的帮助,因为现在我卡住了。

【问题讨论】:

  • 你错过了len("immutable")。将字符串与整数进行比较总是错误的。
  • len("immutable")==9 => True。现在玩切片
  • 检查 print("immutable"[-5:]) 然后 print("immutable"[-5:][:3]) 等等
  • immutable"[-5:][:3] 返回一个字符串,您将它与一个整数进行比较。你总是得到False

标签: python python-3.x boolean-expression


【解决方案1】:

你要找的是len():

print(len("immutable") == 9)

这将是output:

True

为什么会这样?

嗯,先看看documentation对应len()

返回对象的长度(项目数)。参数可以是序列(如字符串、字节、元组、列表或范围)或集合(如字典、集合或冻结集)。

所以,举一些使用len()的例子:

>>> len("hello")
5
>>> len("fish")
4
>>> len("abc123")
6
>>> len("immutable")
9

代码所做的是比较string: "immutable"length 是否为equal to (==) 9。就这么简单!

希望你现在明白该怎么做!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-02
    • 2016-11-28
    • 2013-01-09
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    相关资源
    最近更新 更多