Advertisement
stuppid_bot

камень, ножницы, бумага

Jan 22nd, 2016
1,157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.54 KB | None | 0 0
  1. # И так сравниваем мы значения слева со значениями сверху. Например,
  2. # камень и камень - ничья (-1), камень и ножницы - побеждает камень (1),
  3. # камень и бумага - проигрыш: бумага накрывает камень (0).
  4. #
  5. # |         | Камень  | Ножницы | Бумага  |
  6. # |---------+---------+---------+---------|
  7. # | Камень  | -1      |  1      |  0      |
  8. # | Ножницы |  0      | -1      |  1      |
  9. # | Бумага  |  1      |  0      | -1      |
  10. import random
  11.  
  12. STONE = 'stone'
  13. SCISSORS = 'scissors'
  14. PAPER = 'paper'
  15.  
  16.  
  17. def compare(a, b):
  18.     # Первый ряд таблицы
  19.     if a == STONE and b == SCISSORS:
  20.         return 1
  21.     if a == STONE and b == PAPER:
  22.         return 0
  23.     # Второй
  24.     if a == SCISSORS and b == STONE:
  25.         return 0
  26.     if a == SCISSORS and b == PAPER:
  27.         return 1
  28.     # Третий
  29.     if a == PAPER and b == STONE:
  30.         return 1
  31.     if a == PAPER and b == SCISSORS:
  32.         return 0
  33.     assert a == b
  34.     return -1
  35.  
  36.  
  37. items = [STONE, SCISSORS, PAPER]
  38. while 1:
  39.     a = input('Choose your item: "paper", "stone" or "scissors": ')
  40.     a = a.lower()
  41.  
  42.     if a not in items:
  43.         print("Иди нахуй я так не играю!")
  44.         continue
  45.  
  46.     b = random.choice(items)
  47.     r = compare(a, b)
  48.  
  49.     print("{} vs {}: {}".format(
  50.         a, b, {-1: "ничья", 0: "проиграл", 1: "выиграл"}[r]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement