Python-Only执行首次打印

时间:2016-03-13 22:33:29

标签: python

animals=["zebras", "dogs", "cats", "snakes", "insects"]

A=0
B=1
while B<= (len(animals)-1): 
    if animals[A] > animals[B]:
        animals= [animals[B]] + [animals[A]] + animals[B+1:]
        B= B + 1
        print(B)
        print(animals)

print("test- Will this not print as well?")
  

好的,谢谢,这似乎有效。不过我还有一个问题:怎么打印B而不是下一个打印声明:打印(动物)?   当我注释掉印刷品B语句然后印刷品(动物)   的工作原理。

     

这是我运行代码时的输出(原样),而while循环没有终止。

     

输出:    2

1 个答案:

答案 0 :(得分:1)

它不会打印,因为你永远陷入了你的while循环。

第一次运行时,它会检查

"zebras" > "dogs"

这是真的,然后会打印

2
['dogs', 'zebras', 'cats', 'snakes', 'insects']

然后再次,

"zebras" > "cats"

也是如此,打印

3
['cats', 'dogs', 'snakes', 'insects']

然后它得到

['insects', 'cats']

但是现在它试图检查动物是否[0]&gt;动物[3],它会出现问题,因为动物[3]不存在而返回假。你的无限循环。