2016-09-20 80 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