2017-10-09 3 views
0

私たちは、プレイヤーがゲームを選ぶ難易度に応じて、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です。

答えて

0

あなたのケースでは、random sectionをPython標準ライブラリから読む必要があります。特に、これは関連性がある:それは働くことのよう

random.randrange(start, stop[, step]) 
Return a randomly selected element from range(start, stop, step). This is equivalent to choice(range(start, stop, step)), but doesn’t actually build a range object. 
+0

randrangeに見えますが、どのように私は1と100の間でのみ4つの数字を生成することを制限し、それがステップ番号1と20の間の乱数を作ることが可能ですか? 私が助けてくれると思う唯一の方法は、リストを扱うものを投げることですが、私の先生は、それほど遠慮しておらず、これまでに学んだことをクラスで使用しようとしています。 – Kalivel

+0

自分で宿題を解決しなければならないので、自分で洞察を体験することができます。リストを使用すべきでないならば、forループを使うことができます:範囲(n)のiに対して 'n = 4'' step = randint(1,20) '':guess_init = choice(range(start、stop、step) ) ' – MK87

+0

あなたがお互いに同じ距離を持ち4番の数字を推測する4つの数字のうち3つを知っているのなら、正確にどこがポイントですか?例:私は16,24,32を知っていて、4番目の数字を推測する必要がありますか?サプライズ:40 – MK87