2015-02-23 111 views
0

我正在写一些代码来完成此操作: 用数字从0到9填充一个数组,然后在数组的末尾放入小于5的数组。我的代码是这样的:python中的调试代码

print ("give n: ") 
    n = int(input()) 
    a = [] 
    for i in range(n): 
     num = 0 
     print ("give a number from 0 to 9 ") 
     num = int(input()) 
     while (num > 9 and num < 0): 
      print ("only from 0 to 9") 
      num = int(input()) 
     a.append(num) 
    tmp = 0 
    for i in range(n): 
     if (a[i]<5): 
      tmp = a[i] 
      a[i] = a[i+1] 
      a[i+1] = tmp 
    for i in range(n): 
     print a[i] 

我的问题是,当我运行它,来检查,如果一个数是从0到9,如果我给别的被忽略,但它传递给阵列,它的循环在第16行给出了一个错误(a [i] = a [i + 1])。提前致谢!

+4

提示:命名一个大于九且小于零的数字。 – Kevin 2015-02-23 14:01:46

+0

不相关,但您不需要临时变量来交换Python;你可以做'a [i],a [i + 1] = a [i + 1],a [i]'。请注意,虽然这不会真正按照您的要求对您的列表进行排序。 – 2015-02-23 14:03:12

+0

'while(num#< 9 and num > 0):' – 2015-02-23 14:04:21

回答

-1

用于在Python中进行调试。 加上import pdb,然后把pdb.set_trace()放在你想调试器中断的地方。