2017-10-09 24 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:回路设置。

相关问题