无法使我的for循环工作

时间:2012-10-30 20:47:30

标签: jython jes

好的,所以我想让程序做三个步骤......

1:选择传入参数(m,n)之间的数字(设置为变量“repeat”)

2:从步骤1中选择0和变量“repeat”之间的随机数。 (设为变量“o”)

3:从“repeat”中减去“o”并将结果设置为变量“p”

因此我得到一个数字(比方说100)

然后是0-100的随机数(比方说40)

然后我得到100-40(60 ...)

的差异

然后我希望程序运行一个for循环“o”(40)次,另一个运行循环“p”(60)次......

for循环部分的代码看起来像这样(请记住,在此之前还有更多代码......它实际上并不属于这个问题:

def randomStars(pic,m,n):

  repeat=random.randint(200,300)
  o=random.randint(0,repeat)
  p=repeat-o

  for i in o:
    star(pic,x,y)
  for j in p:
    largeStar(pic,x,y)
  show(pic)

发生的事情是我收到错误消息:       因为我在o: 这表示“迭代非序列 不恰当的论点类型

我在设置了3个变量之后也添加了print语句,它们正在工作...... ex.1 repeat = 230; O = 103; P = 127 ex.2 repeat = 221; O = 72; P = 149

然后我立即尝试让for循环运行“o”次,我得到上面的错误信息......我不知道它是如何非序列的。但也许我只是不理解序列的定义

1 个答案:

答案 0 :(得分:0)

op是整数。对于for循环,您需要可迭代的东西。我可以把它改成:

for i in range(o):

This is range() documentation for Python 2.x