2016-09-20 83 views
0

嘿,人們,我剛剛得到一個快速的問題,對於你們中的一些人來說,它可能很簡單,但請幫助。 可以說我們得到:Python跟蹤,不顯示索引

--- modulename: test, funcname: <module> 
test.py(1): nums = [3, 1, 2, 10] 
test.py(3): where = 0 
test.py(5): for number in range(1, len(nums)): 
test.py(7): if nums[number] < nums[where]: 
test.py(9):  where = number 
test.py(5): for number in range(1, len(nums)): 
test.py(7): if nums[number] < nums[where]: 
test.py(5): for number in range(1, len(nums)): 
test.py(7): if nums[number] < nums[where]: 
test.py(5): for number in range(1, len(nums)): 
test.py(11): answer = nums[where] 
--- modulename: trace, funcname: _unsettrace 
trace.py(80):   sys.settrace(None)} 

因此,大家可以看到它不顯示我的輸出,我需要。我需要看到它在每個舞臺循環中的數字。有沒有辦法完成它?

+0

我需要能夠看到{數字} {這裏}和{}回答您 – StasVB

+0

需要'pdb',不'trace'什麼走了進去。 https://docs.python.org/2/library/pdb.html –

+0

您需要修復代碼中的縮進。 – SiHa

回答

0

在要查看輸出的位置添加打印語句。

版本:

[[email protected] ~]# python -V 
Python 2.7.5 
[[email protected] ~]# 
[[email protected] ~]# python -m trace --version 
trace 2.0 
[[email protected] ~]# 

代碼:

nums = [33, 21, 4, 8] 

where = 0 

for number in range(1, len(nums)): 
    print number 
    if nums[number] < nums[where]: 

     where = number 
     print where 

     answer = nums[where] 
     print answer 

輸出:

[[email protected] ~]# python -m trace -t a.py 
--- modulename: a, funcname: <module> 
a.py(3): nums = [33, 21, 4, 8] 
a.py(5): where = 0 
a.py(7): for number in range(1, len(nums)): 
a.py(8): print number 
1 
a.py(9): if nums[number] < nums[where]: 
a.py(11):   where = number 
a.py(12):   print where 
1 
a.py(14):   answer = nums[where] 
a.py(15):   print answer 
21 
a.py(7): for number in range(1, len(nums)): 
a.py(8): print number 
2 
a.py(9): if nums[number] < nums[where]: 
a.py(11):   where = number 
a.py(12):   print where 
2 
a.py(14):   answer = nums[where] 
a.py(15):   print answer 
4 
a.py(7): for number in range(1, len(nums)): 
a.py(8): print number 
3 
a.py(9): if nums[number] < nums[where]: 
a.py(7): for number in range(1, len(nums)): 
--- modulename: trace, funcname: _unsettrace 
trace.py(80):   sys.settrace(None) 
[[email protected] ~]# 
+0

既不工作,爲什麼? – StasVB

+0

你能分享python版本和跟蹤版本嗎? –

+0

另外,添加打印語句後請分享您的python代碼。 –

0

您需要根據格式化LY看到每一步

nums = [33, 21, 4, 8] 

where = 0 

for number in range(1, len(nums)): 
    print number 
    if nums[number] < nums[where]: 
     print where 
     where = number 

answer = nums[where] 
print answer 
+0

不工作,爲什麼? – StasVB

+0

這裏是顯示的輸出sh-4.3 $ python main.py 1 0 2 1 3 4 – Cyclotron3x3

+0

我在終端中得到的輸出和我的問題一樣,即使我已經把所有的東西都當作你說的。我之前做了它,它沒有工作,所以我希望有其他東西可以幫助我 – StasVB