2016-12-07 13 views
0
#TODO: QUESTION 1 
    num = random.randint(1, 100) 
    print(num) 
    # Male or Female probabilities = 35% 
    if num > 0 and num <= 18: 
     femaleCheck(People) 
     printPeopleList(People) 
    if num > 18 and num <= 35: 
     maleCheck(People) 
     printPeopleList(People) 
    # Wearing a T-Shirt probabilities = 15% 
    if num > 35 and num <= 50: 
     tShirtCheck(People) 
     printPeopleList(People) 
    #Eye Color probabilities 25% 
    if num > 50 and num <= 63: 
     eyeColorBrownCheck(People) 
     printPeopleList(People) 
    if num > 63 and num <= 75: 
     eyeColorBlueCheck(People) 
     printPeopleList(People) 
    #Showing Teeth probabilities 25% 
    if num > 75 and num <= 100: 
     showingTeethCheck(People) 
     printPeopleList(People) 

私が作成したゲームを推測するためのコードの一部です。現在実装されているので、リストから乱数を選択し、対応する番号に関数を実行するように要求します。質問1が尋ねられたら、残りの利用可能なオプションのうち質問2に質問したいと思います。質問3に残りの2つのオプションが含まれ、質問する新しい機能も導入されます。私はどの方法が最も効率的かを理解するのに苦労しています。私は、次の各質問をインデントすることができることを知っていますが、それはひどく乱雑で読みにくいでしょう。私は次の質問を単純化された方法で尋ねるために使用できる方法はありますか?ランダムな整数からその範囲を削除する可能性はありますか?Python、繰り返しを使わないで質問する

+0

使用しているPythonのバージョンは何ですか? – joeb

+0

コードとあなたの説明は、あなたがしようとしていることとあなたの現在の問題について本当に不明です。 – polku

+0

@joeb私はそれを複数のデバイスで使用していますが、通常は3.4と3.6の組み合わせです – zSynonym

答えて

3

3.6を使用している場合は、weightsキーワード引数を使用してrandom.choicesを使用することができます。

checkFunction = random.choices([femaleCheck, maleCheck, tShirtCheck, ...], weights=[35, 15, 25, ...]) 
checkFunction(People) 
printPeopleList(People) 

ない場合は、似たような実装方法のthis answe Rをチェックしてください。

関連する問題