[英]Is it possible to store inputted values in a while loop?
我正在嘗試存儲猜測,以便我可以為您已經猜到該字母的情況編寫代碼,並且還可以在他們得到所有字母正確時編寫代碼。 我也可能被困在這部分,因為我不知道如何檢查字母是否與單詞wordname
列表中的字母相對應,尤其是當它甚至沒有排序時。
因此,我正在尋找一些可以存儲猜測的代碼,以及可以檢查是否所有正確字母都已被猜到的代碼。 我認為它可能與enumerate()
function 有關,但我不確定,因為我以前從未使用過它,只是聽說過它。
此外,供您參考,如果有幫助的話,游戲就是劊子手。
wordname = word_choosing()
wordnamelength = len(wordname)
wordnamelist = list(wordname)
def letter_guess1():
sleep(1)
tries = 5
print(f"{oppositeplayer}, the word is {wordnamelength} letters long")
while tries > 0:
guess1 = input("Make your guess: ")
if guess1 in wordnamelist:
print("Congrats, that is correct")
letternum = wordnamelist.index(guess1)
letternum += 1
print(f"This letter is number {letternum}")
elif guess1 not in wordnamelist:
tries -= 1
print(f"You have {tries} left")
if guess1 == "quit".lower():
exit()
return tries
tries = letter_guess1()
我認為set
非常適合這種情況。 將被猜測的單詞的字母保持為一set
,並將猜測添加到另一set
中。 然后,您可以通過使用兩組的intersection
來檢查單詞是否猜對了。
像這樣的東西:
wordname = word_choosing()
wordnamelength = len(wordname)
wordnamelist = list(wordname)
def letter_guess1():
sleep(1)
tries = 5
print(f"{oppositeplayer}, the word is {wordnamelength} letters long")
word_set = set(wordname)
guessed_letters = set()
while tries > 0:
guess = input("Make your guess: ")
if guess in guessed_letters:
print("You already guessed this letter")
continue
guessed_letters.add(guess)
if guess in word_set:
print("Congrats, that is correct")
letternum = wordnamelist.index(guess)
letternum += 1
print(f"This letter is number {letternum}")
elif guess not in word_set:
tries -= 1
print(f"You have {tries} left")
if word_set.intersection(guessed_letters) == word_set:
print("You have won!")
if guess == "quit".lower():
exit()
return tries
tries = letter_guess1()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.