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 に答える