2016-09-29 7 views
1
#RoShamBo 
import random 
count=0 
while count<2 and count> -2: 
    compnum=random.randint(0,2) 
    usernum=int(input("Scissor(0), Rock(1), Paper(2)")) 
    if compnum==0: 
     if usernum==0: 
      print("Draw") 
     elif usernum==1: 
      print("Win") 
      count=count+1 
     elif usernum==2: 
      print("Lose") 
      count=count-1 
    elif compnum==1: 
     if usernum==0: 
      print("Lose") 
      count=count-1 
     elif usernum==1: 
      print("Draw") 
     elif usernum==2: 
      print("Win") 
      count=count+1 
    elif compnum==2: 
     if usernum==0: 
      print("Win") 
      count=count+1 
     elif usernum==1: 
      print("Lose") 
      count=count-1 
     elif usernum==2: 
      print("Draw") 
if count>2: 
    print("You won more than 2 times") 
else: 
    print("The computer won more than 2 times") 

出力が乱れています.1つは、ユーザーが勝つことができません。また、数値を適切に計算していません。これは、Pythonの紹介ではクラスのラボ課題でしたが、私が教授が間違ってコードを書いたと信じています。ここではサンプル壊れ出力です:ロック、ペーパー、はさみではユーザーに勝てません。

============== RESTART: C:/Users/FieryAssElsa/Desktop/Broken.py ============== 
    Scissor(0), Rock(1), Paper(2)2 
    Draw 
    Scissor(0), Rock(1), Paper(2)2 
    Win 
    Scissor(0), Rock(1), Paper(2)2 
    Draw 
    Scissor(0), Rock(1), Paper(2)2 
    Lose 
    Scissor(0), Rock(1), Paper(2)2 
    Win 
    Scissor(0), Rock(1), Paper(2)2 
    Win 
    The computer won more than 2 times 
+0

でそれを試すことができますか? –

+1

'count'が2または-2になるまでループが続き、それが条件に達するので、'コンピュータが2回以上勝った 'と常に表示されます。 'count'が2または-2で、2が2または-2より大きくないので、elseブロックに行きます。 – Li357

答えて

2

あなたは手の込んだてくださいすることができif count==2:

+2

これは間違いありませんが、あなたは本当に詳しく述べるべきです。 –

+1

説明がうまくいくはずです。 – Li357

+0

しかし、私は「2回以上」と言おうとしています。 –

関連する問題