0

所以我有一些代码,我在开始时创建一个列表,然后询问用户他是否想制作一个对象(乌龟),在这种情况下,它将它添加到列表中,或者他是否想移动乌龟(X) . 如果用户尚未创建对象,我希望它打印“需要创建对象”。但它似乎没有打印。我知道代码会自行打印出来,所以我想知道为什么这在函数中不起作用。所以本质上,如果我有一个空列表,我只想让代码打印“需要创建对象”。

adventurousch = []

def RoamingTurtles(): 
   command = raw_input("---> ")
   if command == 'A':
     newAdventureTurtle()
     RoamingTurtles() 
  if command == 'X':
    if adventurousch == []:
      print "Need to create object"
    else:
      for i in adventurousch:
        i.drawSquare()
        print "test2
4

2 回答 2

3

这应该可以解决问题:

...
if not adventurousch:
      print "Need to create object"
...

另请参阅:检查列表是否为空的最佳方法

于 2013-05-21T21:03:32.390 回答
2

该代码adventurousch == []正在测试是否adventurousch等于该特定的空列表,而不是它是否为空。要检查是否adventurousch为空,请使用if not adventurousch:.

于 2013-05-21T21:05:58.723 回答