python學習——將while循環改爲函數

笨辦法學python第33節python

這一節主要學習內容是while循環,記錄內容爲將while改爲函數,首先源代碼以下:app

 1 i = 0
 2 numbers = []
 3 
 4 while i < 6:
 5     print "At the top i is %d" % i
 6     numbers.append(i)
 7 
 8     i = i + 1
 9     print "Numbers now: ", numbers
10     print "At the bottom i is %d" % i
11 
12 print "The numbers:"
13 
14 for num in numbers:
15     print num

運行結果以下:函數

在將這段代碼改爲函數的時候遇到了問題,開始我想的是這個函數的變量是numbers,就是def xunhuan(number),而後就不會寫了,後來問了大肚子怎麼回事,他說我變量不對,變量不是最後的結果numbers,是6,就是i<6的這個6,而後我就改爲了oop

def xunhuan(m),就是改爲以下代碼:學習

i = 0
numbers = []

def xunhuan(m):
    
    while i < m:
        return numbers.append(i)
        i = i + 1 
    
    

new_number = xunhuan(6)
print "The numbers: " , new_number

可是仍是不對,說 i 沒有定義,大肚子說應該在def函數裏面加上global i,意思就是說,這個最開始定義的i是全局變量,函數裏面也能用,而後我就加上了global i,發現仍是不對,發現這個函數裏面最後沒有一個return,並且只能有一個return,因此我就把循環裏面的return刪了在最後加上了return numbers。以下:字體

 1 i = 0
 2 numbers = []
 3 
 4 def xunhuan(m):
 5     global i
 6     while i < m:
 7         numbers.append(i)
 8         i = i + 1 
 9     return numbers
10     
11 
12 new_number = xunhuan(6)
13 print "The numbers: " , new_number

運行成功!結果:spa

而後大肚子又給我說能夠設置輸入的值m,就是用 m = input("input: ") ,而後我就在def裏面加上了這句話,發現有錯誤code

解決方法是,這個m = input("input: ") 不能放到def裏面,應該放到def外面,代碼以下:blog

 1 i = 0
 2 numbers = []
 3 
 4 def xunhuan(m):
 5     global i
 6     while i < m:
 7         numbers.append(i)
 8         i = i + 1 
 9     return numbers
10     
11 
12 m = input("input: ")
13 new_number = xunhuan(m)
14 print "The numbers: " , new_number

解決!運行結果:input

 

注:

1.紅色字體是錯誤以及改正。

2.我發現我用的函數名「xunhuan」簡直了,,由於八塊腹肌用的「loop」,,還有我感受不能叫大肚子,就比如要是叫一個胖子胖子,他就永遠減不下來了,,因此就叫你八塊腹肌吧哈哈哈哈。

3.第一次寫博客,堅持堅持!

相關文章
相關標籤/搜索