jzz1314520 发表于 2020-8-27 20:55:32

有一段代码看不懂,求老哥指点

def palindrome(string):
    length = len(string)
    last = length-1
    length //= 2
    flag = 1
    for each in range(length):
      if string != string:
            flag = 0
      last -= 1
代码如上,其中的length //= 2这个的用意是什么?

我真的是个好人 发表于 2020-8-27 21:00:29

本帖最后由 我真的是个好人 于 2020-8-27 21:05 编辑

length = length //(整除) 2这是一种比较奇特的缩写,如:
a += 1 的意思是 a = a + 1
以此类推,我不止一次把这玩意理解错,仇恨值满满{:10_250:}

sunrise085 发表于 2020-8-27 21:00:33

这是地板除,就是整除的意思
例如:5/2=2.5,而 5//2=2

石泊远 发表于 2020-8-27 21:06:37

// == 整除
比如说:
9/5 = 1.8
9//5 = 1

学习型motor 发表于 2020-8-28 00:04:55

类似a+=2的用法 //表示地板除

Twilight6 发表于 2020-8-28 01:47:25



// 双斜杠是地板除的意思,就相当于 / 除法后不要小数部分,即取 int 整型

而 length //= 2 就相当于 length = length // 2 ,将原先的 length 的值地板除以 2之后在赋值给 length

和 / 法不同的是 , // 结果永远为整型,而 / 结果永远为浮点型

页: [1]
查看完整版本: 有一段代码看不懂,求老哥指点