書籍「Python Programming for the Absolute Beginner Third Edition」を使用して Python を学習する過程で、設定された課題に苦労しています。
プレイヤーが数字を選び、プログラムが乱数を選んで推測し、それよりも高い質問または低い質問を使用してその数字に近づく数字推測プログラムを作成する必要があります。私はそれのほとんどを理解しましたが、より高いループまたはより低いループに苦労しています. 私が抱えている問題は、プログラムを上または下に移動させられないことです。つまり、最後から2番目の推測です。
私の番号は 78 のコンピューター ピック 50 です。より高いコンピューターは 80 をピックします。より低いコンピューターは 12 をピックできます (50 を下回りたくない場合)。
私はPython 3.1を使用しています
これがコードのコピーです。
import random
computer_tries = 0
player_number = None
computer_guess = random.randint(1, 100)
print(
"""
Welcome Player to the fabulous number guessing game.
Please allow me to show you my incredible deduction skills
""")
question = None
while question != ("yes"):
question = input("Has the player picked a number? ")
question = question.lower()
if question == "yes":
print("\nI will now guess your number!!!\n")
while player_number == None:
computer_tries += 1
print(computer_guess, "\n")
confirmation = input("Is this the correct number? ")
confirmation = confirmation.lower()
if confirmation == "yes":
player_number = computer_guess
if computer_tries < 2:
print("I did it! I guessed your number was", computer_guess,
"and it only \ntook me", computer_tries,
"try to get it right!")
else:
print("I did it! I guessed your number was", computer_guess,
"and it only \ntook me", computer_tries,
"tries to get it right!")
else:
higher_lower = None
while higher_lower not in ("higher", "lower"):
higher_lower = input("Is my guess higher or lower"
+ " than your number? ")
higher_lower = higher_lower.lower()
if higher_lower == "higher":
higher = computer_guess
computer_guess = random.randint(higher, 101)
elif higher_lower == "lower":
lower = computer_guess
computer_guess = random.randint(0, lower)
else:
print("Please choose either higher or lower.")
input("\n\nPress the enter key to exit")
あなたが与えることができるどんな助けにも前もって感謝します.
アリー