Advertisement
Guest User

NIM

a guest
Jun 20th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.28 KB | None | 0 0
  1. """
  2.    Használati útmutató:
  3.    -Írd be a kupacok számát.
  4.    -Írd be a különböző kupacokban levő korongok számát, szóközzel elválasztva.
  5.    -Ha lépsz, írj be két számot (szóközzel elválasztva):
  6.        1. hányadik kupacból szeretnél elvenni
  7.        2. mennyit szeretnél elvenni abból a kupacból
  8.    -Minden lépés után, a program kiírja a különböző kupacokban levő korongok számát.
  9.    
  10.    Ha jobban átelemezted a kódot, biztosan észrevetted, hogy nincs benne print("Bagoly nyert").
  11.    Ez azért van, mert a gép nem veszíthet :)
  12.    Ha véletlenül bugot találsz, küldd a kovacs.alex03@gmail.com címre.
  13. """
  14.  
  15. import sys
  16. print("Bagoly VS gép NIM")
  17. n=int(input("Kupacok száma: "))
  18. while True:
  19.     try:
  20.         list=[int(i) for i in input("Kezdőhelyzet: ").split()]
  21.         if(len(list)-n):
  22.             print("Ez nem",n,"kupac!!!")
  23.             continue
  24.         break
  25.     except:
  26.         print("Helytelen kezdőhelyzet!!!")
  27. d=0
  28. for i in list:
  29.     d^=i
  30. if d:
  31.     print("A gép kezd:",end=' ')
  32.     for i in range(n):
  33.         a=list[i]^d
  34.         if a<list[i]:
  35.             print(i+1,list[i]-a)
  36.             list[i]=a
  37.             for j in list:
  38.                 print(j,end=' ')
  39.             if list!=n*[0]:
  40.                 print("")
  41.                 break
  42.             else:
  43.                 input("\nA gép nyert.\nNyomj ENTERt a kilépéshez\n")
  44.                 sys.exit()
  45.  
  46. while True:
  47.     while True:
  48.         try:
  49.             x,y=input("Bagoly lépése: ").split()
  50.             x,y=int(x),int(y)
  51.             assert(list[x-1]>=y)
  52.             assert(y!=0)
  53.             assert(x>0)
  54.             list[x-1]-=y
  55.             for j in list:
  56.                 print(j,end=' ')
  57.             print("")
  58.             break
  59.         except:
  60.             print("Helytelen lépés!!!")
  61.  
  62.     d=0
  63.     for i in list:
  64.         d^=i
  65.     print("A gép lépése:",end=' ')
  66.     for i in range(n):
  67.         a=list[i]^d
  68.         if a<list[i]:
  69.             print(i+1,list[i]-a)
  70.             list[i]=a
  71.             for j in list:
  72.                 print(j,end=' ')
  73.             if list!=n*[0]:
  74.                 print("")
  75.                 break
  76.             else:
  77.                 input("\nA gép nyert.\nNyomj ENTER-t a kilépéshez\n")
  78.                 sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement