來源:

https://www.cnblogs.com/my_captain/p/9242640.html

一、python代碼的調試方式

1. 使用print語句打印出來

2. 在編輯工具中,加斷點跟蹤(打斷點)

3. 使用日誌模塊,輸出到日誌中

下面我們來看一下如何打

二. 環境

python 3.4.4 + Pycharm Professional Edition 2018.1,注意這裏儘量用新的版本,能用專業版儘量用專業版,功能更豐富

三. 調試代碼

1 __author__ = '小翟'

2

3 '''1、自動販賣機:只接受1元、5元、10元的紙幣或硬幣,最多不超過10塊錢。

4

5 飲料只有橙汁、椰汁、礦泉水、早餐奶,售價分別是3.5,4,2,4.5。

6

7 寫一個函數用來表示販賣機的功能:用戶投錢和選擇飲料,並通過判斷之後,給用戶吐出飲料和找零。

8

9 說明:參數有一個爲金額,此金額爲輸入的總金額。'''

10

11 drink_price = {

12 "橙汁": 3.5,

13 "椰汁": 4,

14 "礦泉水": 2,

15 "早餐奶": 4.5

16 }

17

18 def auto_fanmaiji(money, drink_name):

19 if money <= 10:

20 for drink, price in drink_price.items():

21 if drink_name == drink:

22 if money > price:

23 print("請取出飲料: %s" % drink_name)

24 print("應找您%3.1f元" % (money - price))

25 elif money == price:

26 print("請取出飲料: %s" % drink_name)

27 else:

28 print("sorry, 您的金額不足以買:%s" % drink_name)

29 else:

30 continue

31 else:

32 print("sorry, 本機最大金額不能超過10元,請重試!")

33

34 auto_fanmaiji(7.3, "橙汁")

四. 打斷點圖解

五. Step Over, Step Into和Step Out的區別

Step Over:在單步執行時,在函數內遇到子函數時不會進入子函數內單步執行,而是將子函數整個執行完再停止,也就是把子函數整個作爲一步

注意:在不存在子函數的情況下Step Over是和Step Into效果一樣的

Step Into:單步執行,遇到子函數就進入並且繼續單步執行(即進入子函數)

Step Out:當單步執行到子函數內時,用Step Out就可以執行完子函數餘下部分,並返回到上一層函數

在第14行調用devide函數時打斷點

實例1:Step Over的效果

實例2:Step Into的效果

點擊Step Into下一步

點擊Step Into下一步

點擊Step Into下一步

實例3:Step Out的效果

參考文章

https://blog.csdn.net/lanchunhui/article/details/49514297

https://blog.csdn.net/huangfei711/article/details/51220382

戀習Python

關注戀習Python,Python都好練

推薦閱讀:

哈工大、哈工程被美國禁用「工科神器」MATLAB!網友直呼:用Python代替吧?!

25 個常用 Matplotlib 圖的 Python 代碼,收藏收藏!

好文章,我 在看 :heart:

相關文章