笨辦法學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.第一次寫博客,堅持堅持!