为了账号安全,请及时绑定邮箱和手机立即绑定

for x in range(101):print"fizz"[x%3*4::]+"buzz"[x%5*4::]or x 语句解析

for x in range(101):print"fizz"[x%3*4::]+"buzz"[x%5*4::]or x 语句解析

家有三哥 2017-05-25 15:06:12
[x%3*4::]和[x%5*4::]各代表着什么意思,后边的or x又代表着什么意思?
查看完整描述

3 回答

?
慕九州1216299

TA贡献5条经验 获得超2个赞

"fizz"[x%3*4::]这是切片语法,表示从x%3*4的位置切片"fizz"字符串至结尾。

print后的语句分两部分,or前后,当or前"fizz"[x%3*4::]+"buzz"[x%5*4::]不为空时打印该结果,否则就打印x的值。


查看完整回答
1 反对 回复 2017-06-05
?
121301

TA贡献2条经验 获得超0个赞

你可以各种:

for x in range(101):print("fizz"[:x%3*2:]+"buzz"[x%5*3::] or x )

知道切片语法的话,试下结果,就清楚一些了。

查看完整回答
反对 回复 2017-09-11
?
产品经理不是经理

TA贡献481条经验 获得超143个赞

切片语法[start:end:step],三个当中任意一个都可以省略不写。step表示每隔几个取一个。(下面不考虑)
[start:]    切片范围 start--末尾
[:end]      开始----end
[::]            开始----末尾

查看完整回答
反对 回复 2017-06-05
  • 3 回答
  • 2 关注
  • 2036 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信