找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 306|回复: 6

[求助] 求助,为何只有前70个数字插入

3

主题

6

帖子

6

积分

贫民

积分
6
humblejohn 发表于 2018-3-13 16:47:40 | 显示全部楼层 |阅读模式
初学菜鸟,请教下,

为何IBM字段直插入到70以前就不插入了,我把while的范围变大到小于150, 100以内的数字就都插入字符串了,这是为什么?
求大神指导。
。。。。。。。。。。。。。。。。。
name=[1]
name.extend(range(100))

a=0
while a<100:
    name.insert(a,'ibm')
    a=a+3
    print a
print name

。。。。。。。。。。。。。。。。。。。。。。。。。。。
运行结果:
3
6
9
12
15
18
21
24
27
30
33
36
39
42
45
48
51
54
57
60
63
66
69
72
75
78
81
84
87
90
93
96
99
102
['ibm', 1, 0, 'ibm', 1, 2, 'ibm', 3, 4, 'ibm', 5, 6, 'ibm', 7, 8, 'ibm', 9, 10, 'ibm', 11, 12, 'ibm', 13, 14, 'ibm', 15, 16, 'ibm', 17, 18, 'ibm', 19, 20, 'ibm', 21, 22, 'ibm', 23, 24, 'ibm', 25, 26, 'ibm', 27, 28, 'ibm', 29, 30, 'ibm', 31, 32, 'ibm', 33, 34, 'ibm', 35, 36, 'ibm', 37, 38, 'ibm', 39, 40, 'ibm', 41, 42, 'ibm', 43, 44, 'ibm', 45, 46, 'ibm', 47, 48, 'ibm', 49, 50, 'ibm', 51, 52, 'ibm', 53, 54, 'ibm', 55, 56, 'ibm', 57, 58, 'ibm', 59, 60, 'ibm', 61, 62, 'ibm', 63, 64, 'ibm', 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]



回复

使用道具 举报

0

主题

11

帖子

11

积分

贫民

积分
11
小数点儿 发表于 2018-3-14 08:04:44 | 显示全部楼层
本帖最后由 小数点儿 于 2018-3-14 10:02 编辑
  1. name=[1]
  2. name.extend(range(100))
  3. print(len(name))
  4. a=0
  5. n=0
  6. while a<100:
  7.     name.insert(a,'ibm')
  8.     a=a+3
  9.     n=n+1
  10.     print(a)
  11. print(n)
  12. print(name)
  13. print(len(name))
复制代码

a<100 循环34次,所以65以后没有插入
  1. name=[1]
  2. name.extend(range(100))
  3. name.reverse()
  4. list=[]
  5. a=0
  6. lb=len(name)
  7. print(lb)
  8. for i in range(lb):
  9.     a=a+1
  10.     if a%2==1:
  11.         list.append('ibm')
  12.     list.append(name.pop())
  13. print(list)
复制代码

回复 支持 反对

使用道具 举报

3

主题

6

帖子

6

积分

贫民

积分
6
humblejohn  楼主| 发表于 2018-3-14 10:31:47 | 显示全部楼层

谢谢指导,非常感谢
回复 支持 反对

使用道具 举报

3

主题

6

帖子

6

积分

贫民

积分
6
humblejohn  楼主| 发表于 2018-3-14 10:47:19 | 显示全部楼层

while a<100:
    name.insert(a,'ibm')

请教下,a虽然是只有34次,但是a是索引,应该包含了,例如a+3在100内,爱等于99.
那么insert应该是在99的位置插入IBM.

回复 支持 反对

使用道具 举报

0

主题

11

帖子

11

积分

贫民

积分
11
小数点儿 发表于 2018-3-15 14:41:42 | 显示全部楼层

在列表中每隔两个插入一个,因为第一个插入到了0位置,所以33*2=66,没到100,想到列表尾,要重新计算循环次数
回复 支持 反对

使用道具 举报

3

主题

6

帖子

6

积分

贫民

积分
6
humblejohn  楼主| 发表于 2018-3-15 16:47:14 | 显示全部楼层
a的循环次数是34,但是值是到100的,a的值在这里是索引把。
我理解错了?

a= 3
a= 6
a= 9
a= 12
a= 15
a= 18
a= 21
a= 24
a= 27
a= 30
a= 33
a= 36
a= 39
a= 42
a= 45
a= 48
a= 51
a= 54
a= 57
a= 60
a= 63
a= 66
a= 69
a= 72
a= 75
a= 78
a= 81
a= 84
a= 87
a= 90
a= 93
a= 96
a= 99
a= 102
回复 支持 反对

使用道具 举报

0

主题

20

帖子

20

积分

贫民

积分
20
iacxc 发表于 2018-3-19 21:32:04 | 显示全部楼层
本帖最后由 iacxc 于 2018-3-19 21:34 编辑

因为前面插入了内容,所以后面的索引和数值不匹配了(因为多了若干个ibm)。
回复 支持 反对

使用道具 举报

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

本版积分规则

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