2017-04-13 75 views
-2

我试图创建一个游戏,在这个游戏中你可以找到某些东西,但是当它产生新的项目时,它总是重复一个,我不知道为什么。所以任何解决方案将不胜感激。谢谢为什么我的程序会重复

import random 
cards=["3","helicopter","skip","chimmney","balloon","plane","bridge"] 
while list is not []: 
    card1=random.choice(cards) 
    cards.remove(card1) 
    card2=random.choice(cards) 
    cards.remove (card2) 
    print "card 1 = ",card1 
    print "card 2 = ",card2 
    choice=raw_input("type the card that you have found: ") 
    if choice ==card1: 
     card1=random.choice(cards) 
     print "card 1 = ",card1 
    else: 
     card2=random.choice(cards) 
     print "card 2 = ",card2 
+0

什么是'list'你的意思是'卡'吗? – MooingRawr

+0

** list **是一个预定义的类型。你想做什么? – Prune

+0

当列表不是[]时,将'列表'更改为'卡片'。请注意,前者正在检查内置'list'是否为'[]',这从来就不是这种情况。 – khachik

回答

-2

您的程序会导致无限循环,因为它的工作原理直到数组为空,但您永远不会从中删除所有对象。

import random 
cards=["3","helicopter","skip","chimmney","balloon","plane","bridge"] 
running = True 
while running: 
    card1=random.choice(cards) 
    cards.remove(card1) 
    card2=random.choice(cards) 
    cards.remove (card2) 
    print "card 1 = ",card1 
    print "card 2 = ",card2 
    choice=raw_input("type the card that you have found: ") 
    if choice ==card1: 
     card1=random.choice(cards) 
     print "card 1 = ",card1 
     running = False 
    else: 
     card2=random.choice(cards) 
     print "card 2 = ",card2 
     running = False 
+0

'列表不是[]'总是评估'真',因此循环不会退出。 –

+2

为什么你甚至在这里使用'while'? – gurka

+0

非常感谢你,我现在明白了 –

相关问题