Я сейчас читаю «Программирование на Python для Абсолютного новичка ed 3», и у меня есть вопрос об одной из проблем.Поиск индекса путем поиска строки в списке
Я создаю игру Word Jumble, которая выберет слово из списка или кортежа, сломает слово и попросит пользователя угадать слово.
# Word Jumble
# The computer picks a random word and then "jumbles" it
# The player has to guess the original word
import random
# Create a sequence of words to choose from
WORDS = ("python", "jumble", "easy", "difficulty", "answer", "xylophone")
# Pick one word randomly from the sequence
word = random.choice(WORDS)
# Create a variable to use later to see if the guess is correct
correct = word
# Create a jumbled version of the word
jumble = ""
while word:
position = random.randrange(len(word))
jumble += word[position]
word = word[:position] + word[(position + 1):]
# Start the game
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: ")
if guess == correct:
print("That's it! You guessed it!\n")
print("Thanks for playing!")
input("\n\nPress the enter key to exit.")
Это оригинальный код из книги. Задача заключалась в том, чтобы внедрить в игру намек и систему подсчета очков. У меня возникла идея создать другой кортеж, соответствующий кортежу СЛОВА, и есть подсказки. IE:
hints = ("*insert hint for python*",
"*insert hint for jumble*",
"*insert hint for easy*",
"*insert hint for difficulty*",
"*insert hint for answer*",
"*insert hint for xylophone*")
То, что я хотел сделать, это найти индекс random.choice слова, так это то, что я пытался.
index = word.index(WORDS)
print(index)
Я думал, это вернется с целым числом для СЛОВА кортеж и позвольте мне печатать подсказки с помощью:
print(hints[index])
Однако я ошибся. Это возможно? Я получил его на работу, однако это был длинный список, если Элиф заявления, такие как: «Почему ты просто не придерживаться этого, так как он работает»
if guess == "hint" or guess == "Hint" or guess == "HINT":
if hint == "python":
print(HINTS[0])
Я знаю, некоторые могут сказать, Я знаю, что могу это сделать, но в то же время я изучаю питон или программирование в целом - это знать, как выполнять заданные задачи различными способами.
--This часть вторичен и не требует ответа, если вы не хотите, целью которых
Кроме того, моя система подсчета очков выглядит следующим образом, в случае, если кто имеет мысли о том, как он может быть улучшен или если все будет хорошо.
Идея вашего счета начинается в 100, если вы используете подсказку, вы теряете 50% от вашего общего балла. Каждая догадка удаляет 10 очков от общего балла. Если ваш счет достигнет отрицательного числа, он будет равен 0. Вот как я это сделал.
score = 100
guesses = 1
Это добавление после использования подсказки.
score //= 2
После того, как сделано предположение.
guesses += 1
И наконец, если угадана ошибка.
if guess == correct:
print("That's it! You guessed it!\n")
score = score - (guesses - 1) * 10
if score <= 0:
score = 0
print("\nYour score is: ", score)
Как всегда, любая помощь очень ценится.
Так что твой вопрос? – TerryA