我寫一個遊戲,有兩個丟失的條件:Python的邏輯說明:
- 字一次成型超過3個字母長。蜜蜂沒事,啤酒不是。
- 形成一個單詞,不能做成一個更長的單詞。斑馬沒關係,斑馬不是。
Wordlist是單詞列表,frag是前一個片段,a是玩家輸入的新字母。所以碎片可能看起來像'應用程序',也可能是'l',形成蘋果這個詞。
def getLoser(frag, a, wordlist):
word = frag + a
if len(word) > 3:
if word in wordlist:
print 'word in wordlist'
return True
else:
for words in wordlist:
if words[:len(word)] == word:
print words,':', word
print 'valid word left'
return False
else:
print words[:len(word)]
print words,':', word
print 'false found'
return True
else:
return False
出於某種原因,當我進入我的第四個字母,它會自動轉到其他的for循環,即使在for循環的if語句功能可以正常工作,當我獨自一人測試它在虛擬數據互動線索。
這裏是frag alg和word單詞列表中的單詞algebra的字母e的輸出。
Ë
AA
AA:水藻
虛假髮現
真
任何想法?
通過什麼邏輯是'Beer'不能確定,'Zebra' OK?規則1說他們都不好,規則2說他們都好,你的斷言/例子說不同的事情。看起來像對我來說是矛盾的。 – 2010-09-02 14:49:36
@Alex:根據第二種情況,「Zebra」不好,但不是第一種。 * Mutatis變通*爲「啤酒」。任何一種情況都意味着損失。 – katrielalex 2010-09-02 14:57:31