简体   繁体   中英

How to run two loops at the same time in python

How can i run a loop within a loop in python to make points in a simple word game

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.")

is all the code i have im trying to add a point system into it. The problem im trying to do is "Improve “Word Jumble” so that each word is paired with a hint. The player should be able to see the hint if he or she is stuck. Add a scoring system that rewards players who solve a jumble without asking for the hint."

Came up with something like this... needs a lot of work, but it will set you on the right track (I hope so!!)

Here's the modified code:

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.")

I added hints that will gradually show the word and fixed the point system (Or at least it takes into account how many hints you used). The problem is, I always show at least 4 characters of the string and some words are that short (you'll have to fix that) Hope it helps!!!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM