笨辦法學python第33節
這一節主要學習內容是while循環,記錄內容為將while改成函數,首先源代碼如下:
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,然后我就改成了
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
運行成功!結果:
然后大肚子又給我說可以設置輸入的值m,就是用 m = input("input: ") ,然后我就在def里面加上了這句話,發現有錯誤:
解決方法是,這個m = input("input: ") 不能放到def里面,應該放到def外面,代碼如下:
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
解決!運行結果:

注:
1.紅色字體是錯誤以及改正。
2.我發現我用的函數名“xunhuan”簡直了,,因為八塊腹肌用的“loop”,,還有我感覺不能叫大肚子,就好比要是叫一個胖子胖子,他就永遠減不下來了,,所以就叫你八塊腹肌吧哈哈哈哈。
3.第一次寫博客,堅持堅持!
