2016-09-29 3 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") 

Выходной сигнал испорчен - с одной стороны, он не позволит пользователю выиграть. Кроме того, он не правильно вычисляет числа. Это было лабораторное задание для класса во введении к 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

Вы всегда будете видеть, что компьютер выиграл более 2 раз, потому что цикл продолжается до тех пор, пока 'count' не будет равен 2 или -2, а затем он достигнет условия. Теперь, когда 'count' равен 2 или -2 и 2 не больше 2 или -2, он переходит в блок else – Li357

ответ

2

Вы можете попробовать его с if count==2:

+2

Это правильно, но вы должны действительно разработать. –

+1

Объяснение было бы приятным. – Li357

+0

Но я пытаюсь сказать «больше чем» 2 раза. –

Смежные вопросы