采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师, 如果我想写类似for(int i = 1 ; i<=10 ; i*=2){} 这样的循环 用python怎么实现
你可以这样想
for(int i = 1 ; i<=10 ; i*=2){}
代码中的增量控制实际上可以放到代码块中去完成
for(int i = 1; i <= 10;) { i *= 2 }
那么就好用 for in range 来实现了
for i in range(1, 11): pass
但是 range(1, 10) 只能生成正整数序列
a --> 1,2,3,4,5,6,7,8,9,10,11
而 for(int i = 1 ; i<=10 ; i*=2){} 中 i 的输出规律是
b --> 1,2,4,8
这时候就需要找到 a 与 b 之间的映射关系。
b = 2^(a - 1)
反映到代码里
for i in range(1, 10): i = 2**(i - 1) if i > 10: break print(i)
for i in range(1,11): i = i*2 print(i) continue
in range
登录后可查看更多问答,登录/注册
语法精讲/配套练习+思考题/原生爬虫实战
5.6k 7
2.5k 3
2.2k 4
4.2k 22
2.3k 19