2015-12-02 68 views
0
def numbers_def(n): 
    #######if-1####### 
    if n <= 1: 
     print('0 and 1 is special numbers') 
     return False 
    ######end of if-1###### 

    for x in range(2, n): 
     ########if-2####### 
     if n % x == 0: 
      print('({}) = ({}) X ({})'.format(n, x, x)) 
      return False 
     #####end of if-2##### 


    #######else-1###### 
    else: 
     print('({}) is a prime number'.format(n)) 
     return True 

for x in range(0, 20): 
    numbers_def(x) 

這是一個簡單的Python程序,用於查找0到20之間的素數,即我在視頻教程中找到的。在上述程序if-1開始在行號2,並在行號6停止。 if-2位於for loop 一側並且有一個else-1它不屬於任何上述if語句。如果是屬於if-1當參數n等於4關於Python範圍的疑惑如果在python中有其他語句

4 = 2 X 2 
4 is a prime number 

應該產生以下輸出這是如何else-1行爲對這一計劃?使用return boolean值的目的是什麼? 謝謝!

回答

1

else聲明屬於for循環而不是任何if條件。

其含義是「不中斷」。當for循環未以break結束時,即當所有項目都耗盡時,然後才執行else套件。

的成語是:

for n in sequence: 
    if is_ok(n): 
     print("found") 
     break 
else: 
    # no break 
    print("not found") 

你的程序沒有做出真正使用的-else結構的,反正它的存在。