-5

誰かが壁を登るなどのアクションを成功させる確率を 7/10 にしたいと考えています。random.randint で動作する整数のセットを取得できなかったため、次のように 10 回再入力する必要がありました。

import random

print('You try to climb the wall.')

climbResult = random.randint(1,10)


elif climbResult == (1):
    print('You were successful.')

elif climbResult == (2):
    print('You were successful.')

elif climbResult == (3):
    print('You were successful.')

elif climbResult == (4):
    print('You were successful.')

elif climbResult == (5):
    print('You were successful.')

elif climbResult == (6):
    print('You were successful.')

elif climbResult == (7):
    print('You were successful.')

elif climbResult == (8):
    print('You were unsuccessful.')

elif climbResult == (9):
    print('You were unsuccessful.')

elif climbResult == (10):
    print('You were unsuccessful.')

何度も数字を足すのが面倒で、10パーツだけでした。2 つの if ステートメントを作成したいと思います。一方は 70% の確率で成功したことを出力し、もう一方は 30% の確率で失敗したことを出力します。

とても簡単な質問で申し訳ありませんが、私の質問の仕方がわかりにくかったかもしれません。Python を学習してまだ 2 週間しか経っていませんが、母国語ではないので、英語で質問するのに苦労しました。

4

5 に答える 5

12
if climbResult <= 7:
     print('You were successful.')
else:
     print('You were unsuccessful.')
于 2013-06-04T20:51:06.540 に答える
6

問題を少し楽しく別の方法で見るには、次のようにします。

random.choice(['You were successful']*7 + ['You were unsuccessful']*3)

インポートを数えない場合も1ライナーです...それは何かを数えなければなりません...

于 2013-06-04T20:54:29.330 に答える
3

あなたは、70% のケースで「成功」し、それ以外の場合は「失敗」と言っているだけだと言っているので、乱数を使用することもできます。

# import random

def answer():
  if random.uniform(0, 10) < 7:
    return 'successful'
  else:
    return 'unsuccessful'
于 2013-06-04T20:54:58.627 に答える
0
if climbResult <= 7: 
    print("Success")
else: 
    print ("Fail")
于 2013-06-04T20:51:38.177 に答える