これは私の最初の投稿ですが、私はここでGoogleを介して多くの素晴らしい情報を見つけました。現時点では、私はPython Programming Absolute Beginnerを研究しています。私は本の比較的早い段階で挑戦の質問の一つに立ち往生しています。課題は、1から100の間でランダムに選択した数字を推測するプログラムを作成することです。Pythonの初心者は、この1つにこだわった
この時点では、有効ではない回答が除外され、最終的にはルールでプレイすると推測されます。あなたが正直にゲームをプレイすると、それは動作します。しかし、 "高い"の代わりに "低い"を置くと、プログラムがクラッシュするポイントになります。これは動作しますが、私はむしろカウンターをリセットして、メッセージでユーザーを罵倒します。
とにかく、これまでのところ私のコードです。 whileループの最初の "if"節を使って作業していれば、どこで何をしようとしているのか分かります。どう思いますか?
#Computer Guesses Number Program
import random
print("Please select a number between 1 and 100.")
print("As I attempt to guess, you may respond with Higher, Lower, or Yes.")
input("\nPress enter to continue.")
#Start Guessing in the Middle
guess = 50
response = input("\nIs your number " + str(guess) + "?")
#Narrow down guessing further
if response.lower() == "higher":
guess = 75
lowerbound = 50
upperbound = 100
response = input("\nIs your number " + str(guess) + "?")
else:
guess = 25
lowerbound = 1
upperbound = 50
response = input("\mIs your number " + str(guess) + "?")
#Guess loop - eliminates invalid responses and need for capitalization
while response.lower() != "yes":
if lowerbound > upperbound or upperbound < lowerbound:
print("You've been dishonest, let's try again.")
guess = 50
lowerbound = 1
upperbound = 100
elif response.lower() == "higher":
lowerbound = guess + 1
guess = random.randint(lowerbound, upperbound)
elif response.lower() == "lower":
upperbound = guess - 1
guess = random.randint(lowerbound, upperbound)
else:
print("The response options are 'Higher', 'Lower', or 'Yes'.")
response = input("Is this your number " + str(guess) + "?")
print("\nI knew it was ", guess, "the whole time!")
input("\n\nPress enter to exit.")
あなたの助けをありがとう、それは多くの意味があります。私は近くにいる気がしましたが、それはかなり見えませんでした。 – dstana
ようこそ。あなたの質問に答えた場合は、[解決してください](http://meta.stackexchange.com/a/5235/141542)を覚えてください。 – poke