0

如何在 python 的循环中运行循环以在简单的文字游戏中得分

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”,以便每个单词都与提示配对。如果玩家被卡住,应该能够看到提示。添加一个评分系统,奖励解决混乱的玩家不求提示。”

4

1 回答 1

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 个字符串的字符,而且有些单词很短(你必须解决这个问题)希望它有帮助!!!

于 2013-10-05T03:50:44.647 回答