2017-10-09 79 views
0

我正在做一個hang子手遊戲,當我運行代碼除了贏得一線以外的所有工作。 長度是來自當前猜測的字的字母數量,並且長度是實際數量長度需要匹配。如果我有一個5個字母的單詞長度最終將是大約9,這就是我需要幫助。爲什麼python添加更多的變量比需要?

import turtle 
    import random 

    w1 = "battery" 
    w2 = "report" 
    w3 = "beach" 
    w4 = "mayor" 
    w5 = "score" 
    w6 = "overeat" 
    w7 = "load" 
    w8 = "social" 
    w9 = "honor" 
    w10 = "risk" 

    turns = 10 
    guesses = '' 
    err = 0 

    gennum = random.randint(1, 10) 

    if gennum == 1: 
     usedw = w1 
    elif gennum == 2: 
     usedw = w2 
    elif gennum == 3: 
     usedw = w3 
    elif gennum == 4: 
     usedw = w4 
    elif gennum == 5: 
     usedw = w5 
    elif gennum == 6: 
     usedw = w6 
    elif gennum == 7: 
     usedw = w7 
    elif gennum == 8: 
     usedw = w8 
    elif gennum == 9: 
     usedw = w9 
    elif gennum == 10: 
     usedw = w10 

    wn = turtle.Screen() 
    draw = turtle.Turtle() 

    length = len(usedw) 
    lengthr = int(0) 

    print("Welcome to hangman your word is", length, "letters long.") 

    while turns > 0: 
     guess = input("Choose a character: ") 
     guesses += guess 
     for char in usedw: 
      if char in guesses: 
       print (char,) 
       lengthr += 1 
     else: 
      err += 1 
      if err == 1: 
       draw.goto(0,0) 
       draw.down() 
       draw.goto(200,0) 
      elif err == 2: 
       draw.up() 
       draw.goto(0,0) 
       draw.down() 
       draw.goto(0,200) 
      elif err == 3: 
       draw.up() 
       draw.goto(0,200) 
       draw.down() 
       draw.goto(100,200) 
      elif err == 4: 
       draw.up() 
       draw.goto(100,200) 
       draw.down() 
       draw.goto(100,150) 
      elif err == 5: 
       draw.up() 
       draw.goto(100,100) 
       draw.down() 
       draw.circle(25) 
      elif err == 6: 
       draw.up() 
       draw.goto(100,100) 
       draw.down() 
       draw.goto(100,50) 
      elif err == 7: 
       draw.up() 
       draw.goto(75,90) 
       draw.down() 
       draw.goto(125,90) 
      elif err == 8: 
       draw.up() 
       draw.goto(100,50) 
       draw.down() 
       draw.goto(75,35) 
      elif err == 9: 
       draw.up() 
       draw.goto(100,50) 
       draw.down() 
       draw.goto(125,35) 
       print("You loose.") 
       break 
      if lengthr == length: 
       print ("You won!")  
+2

您可能想將單詞放在列表中,並使用['random.choice'](https://docs.python.org/2/library/random.html#random.choice)來選擇它們。 –

回答

1

你應該lengthr = 0之前for char in usedw:迴路設置。

相關問題