2013-10-05 2 views
0

Как я могу запустить цикл внутри цикла в питоне, чтобы сделать очки в простой словесной игреКак запустить два цикла в то же время в питоне

import random 
WORDS = ("python", "jumble", "easy", "difficult", "answer", "xylophone", "truck", "doom", "mayonase", "flying", "magic", "mine", "bugle") 
play = "Yes" 
points = 0 
ask = ('Yes') 
word = random.choice(WORDS) 
while play == "Yes": 
    hint = word 
    correct = word 
    jumble = "" 
    while word: 
     position = random.randrange(len(word)) 
     jumble += word[position] 
     word = word[:position] + word[(position + 1):] 

    print(
    """ 
      Welcome to Word Jumble! 

Unscramble the letters to make a word. 
(Press the enter key at the prompt to quit.) 
""" 
) 
    print("The jumble is:", jumble) 

    guess = input("\nYour guess: ") 

    while guess != correct and guess != "": 
     print("Sorry, that's not it.") 
     guess = input("Your guess: ") 
     print("Do you want a hint") 
     if ask == "yes": 
      print(word) 
      points - 10 
      print(points) 

    if guess == correct: 
     print("That's it! You guessed it!\n") 
     play = input("Do you want to play again") 
     points + 100 
     print(points) 

print("Thanks for playing.") 
input("\n\nPress the enter key to exit.") 

весь код я им пытается добавить точечная система. Проблема, которую я пытаюсь сделать, это «Улучшить» Word Jumble », чтобы каждое слово было сопряжено с подсказкой. Игрок должен уметь видеть подсказку, если он или она застряли. Добавьте систему подсчета очков, которая вознаграждает игроков, которые решают беспорядок не спрашивая намека ».

+8

Мы скорее увидим только код, демонстрирующий вашу проблему, чем * весь код, который у вас есть *. – kojiro

ответ

2

Придумали что-то вроде этого ... нужно много работы, но это сделает вас на правильном пути (я надеюсь !!)

Вот измененный код:

import random 
WORDS = ("python", "jumble", "easy", "difficult", "answer", "xylophone", "truck", "doom", "mayonase", "flying", "magic", "mine", "bugle") 
play = "Yes" 
points = 0 
ask = ('Yes') 
word = random.choice(WORDS) 
while play == "Yes": 
    next_hint = 4 
    hint = "{}...".format(word[0:next_hint]) 
    correct = word 
    jumble = "" 
    while word: 
     position = random.randrange(len(word)) 
     jumble += word[position] 
     word = word[:position] + word[(position + 1):] 

    print(
    """ 
      Welcome to Word Jumble! 

Unscramble the letters to make a word. 
(Press the enter key at the prompt to quit.) 
""" 
) 
    print("The jumble is:", jumble) 

    guess = input("\nYour guess: ") 

    while guess != correct and guess != "": 
     print("Sorry, that's not it.") 
     if hint != word: 
      ask = input("Do you want a hint? yes/no: ") 
      if ask in ("yes", "y", "yeah"): 
       print(hint) 
       next_hint += 1 
       hint = "{}...".format(correct[0:next_hint]) 
       points -= 10 
       print("You lose 10 points!") 
     guess = input("Your guess: ")   

    if guess == correct: 
     print("That's it! You guessed it!\n") 
     play = input("Do you want to play again? yes/no: ") 
     points += 100 
     print("You earn {} points!".format(points)) 

print("Thanks for playing.") 
input("\n\nPress the enter key to exit.") 

Я добавил подсказки, которые будут постепенно показывать слово и фиксировать систему очков (или, по крайней мере, это учитывает, сколько намеков вы использовали). Проблема в том, что я всегда показываю по крайней мере 4 символа строки, а некоторые слова короткие (вам придется исправить это) Надеюсь, что это поможет !!!

Смежные вопросы