我正在阅读用Python 2.x编写的初学者书,但我决定使用3.5
这本书是关于数据争论的,当使用库xlrd
阅读Excel文件时,它提供了Counters
如何工作的快速示例:
count = 0
for i in range(1000):
if count < 10;
print i
count += 1
print 'Count: ', count
首先,我知道Python 3.x print
实际上是print()
而且我也知道2.x range(1000)
在3.x中是不一样的
所以我设法运行代码没有错误但没有得到所需的结果:
count = 0
my_list = list(range(1000))
for i in my_list:
if count < 50:
print(i)
count += 1
print(count)
结果是从1001到2000的数字。显然不是我的意思,所以它让我思考如果+=
对于3.x是相同的但是找不到太多信息,所以我试过(至少对我而言)逻辑方式:
count = 0
my_list = list(range(1000))
for i in my_list:
if count < 50:
print(i)
count = count + 1
print(count)
但现在结果是从0到1000的所有数字但是从1到49的所有数字都重复一次。所以我更改了count
仅i
,但没有任何区别。
我提前感谢所有输入
答案 0 :(得分:0)
我认为你的困惑源于你的for循环结束时的递增计数。
如果你在范围(5)中为k执行它的方式...计数器将从0一直增加到5,因为它在每次迭代时增加一次超过它的值。
运行此代码将播下计数高于循环中的itterating变量k的计数。 print(“Hello World!”);
count = 0
for k in range(5):
print("k: "+str(k))
print("count: "+str(count))
count+=1
print("countNow: "+str(count))