鱼C论坛

 找回密码
 立即注册
查看: 1622|回复: 5

[已解决]有一段代码看不懂,求老哥指点

[复制链接]
发表于 2020-8-27 20:55:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def palindrome(string):
    length = len(string)
    last = length-1
    length //= 2
    flag = 1
    for each in range(length):
        if string[each] != string[last]:
            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
以此类推,我不止一次把这玩意理解错,仇恨值满满
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-27 21:00:29 | 显示全部楼层    本楼为最佳答案   
本帖最后由 我真的是个好人 于 2020-8-27 21:05 编辑
length = length //(整除) 2
这是一种比较奇特的缩写,如:
a += 1 的意思是 a = a + 1
以此类推,我不止一次把这玩意理解错,仇恨值满满
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-27 21:00:33 | 显示全部楼层
这是地板除,就是整除的意思
例如:5/2=2.5,而 5//2=2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-27 21:06:37 | 显示全部楼层
// == 整除
比如说:
9/5 = 1.8
9//5 = 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 00:04:55 | 显示全部楼层
类似a+=2的用法 //表示地板除
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 01:47:25 | 显示全部楼层


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

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

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 03:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表