私はPython3.xで作業していて、かなり新しいので、私が求めていることが理にかなっていることを願っています。私はこの単語推測ゲームのforループと文字列に焦点を当てることになっています。これが私がこれまでに持っている(ごちゃ混ぜ/長い/雑然とした)コードです:
import sys
import random
def Main():
PlayAgain = "y"
print("COP 1000 Project 4 - Courtney Kasonic - Guess the Word Game")
print("I'm thinking of a word; can you guess what it is?")
while PlayAgain == "y":
Words = "apple alphabet boomarang cat catharsis define decide elephant fish goat horizon igloo jackelope ketchup loop limousine monkey night octopus potato quick rebel separate test underway violin world yellow zebra".split()
SecretWord = random.choice(Words)
MissedLetters = ""
CorrectLetters = ""
ChosenWord = GetWord(Words)
Guess = FiveLetters(CorrectLetters+MissedLetters)
for Guess in ChosenWord:
CorrectLetters = CorrectLetters + Guess
ShowWord(CorrectLetters, ChosenWord)
for i in ChosenWord:
CLetters = ""
if Guess in ChosenWord:
Blanks = "_" * len(SecretWord)
for i in range(len(SecretWord)):
if SecretWord[i] in CLetters:
Blanks = Blanks[i] + SecretWord[i]
print(Blanks)
print(CLetters)
def GetWord(List):
SecretWord = random.choice(List)
return(SecretWord)
**def FiveLetters(LettersGuessed):
a = 2
if a > 1:
print("Enter five letters to check: ",end="")
Guess = input()
if len(Guess) != 5:
print("Please enter five letters.")
elif Guess in LettersGuessed:
print("You already guessed that letter.")
elif Guess not in "abcdefghijklmnopqrstuvwxyz":
print("Please enter a letter.")
else:
return(Guess)**
def ShowWord(CLetters, SecretWord):
print("\nHere is the word showing the letters that you guessed:\n")
CLetters = ""
Blanks = "_" * len(SecretWord)
for i in range(len(SecretWord)):
if SecretWord[i] in CLetters:
Blanks = Blanks[i] + SecretWord[i]
print(Blanks)
print(CLetters)
return(Blanks, SecretWord, CLetters)
def CheckLetters(Letters):
Letters = "a b c d e f g h i j k l m n o p q r s t u v w x y z".split()
for Letters in Word:
print(Letters)
return(Letters)
Main()
太字の領域は私が問題を抱えているところです。秘密の言葉であるかどうかを確認するために「チェック」するために入力できるのは5文字だけです。「abcde」のような入力のみを受け入れます。「aaaaa」や「muihi」などの入力は受け入れられません。つまり、順序が正しくないか、同じ文字が複数ある推測は受け入れられません。
下線にも問題があります。私がそこに持っているコードが正しいかどうかわからない。正しく推測された文字は、適切なアンダースコアを置き換えません。
例:秘密の言葉=犬。「mopfe」という文字を推測すると(上記の問題のためにできませんが)、「o」なしで「___」と出力されます。