私たちは、プレイヤーがゲームを選ぶ難易度に応じて、4つまたは5つの数字を生成し、3つの試行で推測しなければならない最後を除いてプレイヤーに与えられる数を推測することになっています。数は等間隔でなければならず、数は1〜100の範囲内でなければなりません。Python 3.x Homeworkヘルプ。シーケンシャルナンバー推測ゲーム。
これまでのところ、おおよそのように見えます。乱数については
def guesses:
function for accumulating tries as long as guesses_taken < 3
let user retry, or congratulate and offer to replay
def game_easy:
code for number generation, step value, etc
guesses()
def game_hard:
same code as easy mode, with the appropriate changes
guesses()
、私がこれまで持っているすべては、この
guess_init = rand.int (1,100)
step = rand.int (1,20)
guess_init = guess_init + step
とそれを持つループで、それぞれのステップ4または5回を追加します。
ここで私は立ち往生しています1.生成された数字のどれも100を超えないようにする方法(98で始まる1のステップではないため)2.最後の数字以外のすべてを印刷する方法生成される。
私が考えていたのは、生成された最後の数値を、プレイヤーが入力しなければならない変数に割り当てることでした。しかし、私はまた、 "guess_init"がループを通過した場合、最後の数値の値を保持していることを確認する必要があり、すべての悪い点はそのユーザー入力== guess_initです。
randrangeに見えますが、どのように私は1と100の間でのみ4つの数字を生成することを制限し、それがステップ番号1と20の間の乱数を作ることが可能ですか? 私が助けてくれると思う唯一の方法は、リストを扱うものを投げることですが、私の先生は、それほど遠慮しておらず、これまでに学んだことをクラスで使用しようとしています。 – Kalivel
自分で宿題を解決しなければならないので、自分で洞察を体験することができます。リストを使用すべきでないならば、forループを使うことができます:範囲(n)のiに対して 'n = 4'' step = randint(1,20) '':guess_init = choice(range(start、stop、step) ) ' – MK87
あなたがお互いに同じ距離を持ち4番の数字を推測する4つの数字のうち3つを知っているのなら、正確にどこがポイントですか?例:私は16,24,32を知っていて、4番目の数字を推測する必要がありますか?サプライズ:40 – MK87