2016-10-18 55 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

相關問題