2016-10-18 26 views
-2

(Python 3.x都有)如何使用一个变量来查找列表中的另一个变量 - 蟒蛇

z=[] 
x=0 
while 1==1: 
    x=x+1 
    y=1 
    z.append(x) 
    while y==1: 
     a = 0 
     b = 0 
     if z(a)==x: 
      print(x) 
      y = 2 
     elif x%z(a)!= 0: 
      a = a+1 
     elif b == 2: 
      y = 2 
     else: 
      b = b+1 

所以,我做了一个代码,找出所有的素数,直到蟒蛇崩溃。然而,它依靠z(a)来工作。这个想法是,当“a”发生变化时,它会在列表中移动。

“z(a)”是错误所在,所以有人知道解决这个问题的方法吗?

回答

0

z是一个表。您可以使用z[a]运算符(而不是z(a),其中假定函数调用a作为参数)通过索引来访问其中的值。


我已经采取了使用boolean variables+=运营商和拆包值的自由:

z = [] 
x = 0 
while True: 
    x += 1 
    y = True 
    z.append(x) 
    while y: 
     a, b = 0, 0 
     if z[a] == x: 
      print(x) 
      y = False 
     elif x % z[a]: a += 1 
     elif b == 2: y = False 
     else: b += 1 

我相信那就是你想达到什么(无限增加黄金发生器):

def prime (n): return not any([n % i == 0 for i in range(2, n)]) 
x = 0 
while True: 
    if prime(x): print(x) 
    x += 1 
+0

谢谢,现在它只打印“1”是否有任何修复? – LokiH

+0

@LokiH看看最后的参数。 – Uriel

相关问题