2017-03-20 11 views
0

コードを実行すると、6以下の数字が表示されます。x:1。乱数が7の場合、x:2とは言えません。乱数が6〜9の間であった場合、それを修正するには、x:2を印刷します。乱数が6〜9の場合、xに値を設定するにはどうすればいいですか?

import random 

for k in range(1,10): 
    rnum = random.randint(1, 10) 
    print(rnum) 
    if rnum <= 6: 
     x = 1 
     print("x:",x) 

    elif rnum == (6,9): 
     x = 2 
     print("x:", x) 

    elif rnum == 10: 
     x = 3 
     print("x:", x) 

あなたがコードを実行すると:

8 
9 
1 
x: 1 
1 
x: 1 
5 
x: 1 
1 
x: 1 
4 
x: 1 
9 
4 
x: 1 

Process finished with exit code 0 

答えて

0

現在、あなたは正しい構文ではありませんelif rnum == (6,9):を使用しています。 「xが9以下で6以上の場合」に翻訳されたelif rnum <= 9 and rnum >= 6:を試してください。

+0

「elif 6

+0

私は自分のコードを分かりやすくしようとしましたが、それはそれを書く別の方法です。 – meyer9

0

elif rnum == (6,9):をチェックすると、左側がint、右側がtupleです。平等は機能しません。

タプルのメンバーシップがinであることを確認できますが、タプルには明示的にすべての値が必要です(elif rnum in (6,7,8,9):)。代わりに範囲を使用することもできますが、上限は範囲に含まれないため、elif rnum in range(6,10):になることに注意してください。

関連する問題