Facebook
From Beefy Penguin, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 191
  1. # -*- coding: utf-8 -*-
  2. # import time
  3.  
  4. sudoku = input()
  5. # t1 = time.time()
  6. sudoku = sudoku.replace(" ", "")
  7.  
  8. liczba_pion = 0
  9. liczba_poziom = 0
  10. liczba_klatka = 0
  11.  
  12.  
  13.  
  14. pion = [[], [], [], [], [], [], [], [], []]
  15. poziom = [[], [], [], [], [], [], [], [], []]
  16. klatka = [[], [], [], [], [], [], [], [], []]
  17.  
  18.  
  19.  
  20. # wczytanie liczb z sudoku do poziomu--------------------------------------------------------------------
  21.  
  22.  
  23. for i, cyfry in enumerate(sudoku):
  24.  
  25.     if i % 9 == 0 and i != 0:
  26.  
  27.         liczba_poziom += 1
  28.  
  29.         if liczba_poziom == 9:
  30.  
  31.             liczba_poziom = 8
  32.             break
  33.  
  34.     poziom[liczba_poziom].append(cyfry)
  35.  
  36.  
  37.  
  38. # wejscie w uzupełnianie sudoku----------------------------------------------------------------------------------
  39. while ('.' in poziom[0] or '.' in poziom[1] or '.' in poziom[2] or
  40. '.' in poziom[3] or '.' in poziom[4] or '.' in poziom[5] or
  41. '.' in poziom[6] or '.' in poziom[7] or '.' in poziom[8] ):
  42.     if len(sudoku) != 81:
  43.         break
  44.     print()
  45.     for z in pion:
  46.         print(z)
  47.     print()
  48.  
  49.  
  50.    
  51.     for i in range(81):
  52.  
  53.         # wyczyszczenie pozostalej zawartosci z tablic
  54.         for n in range(9):
  55.             del klatka[n][0:]
  56.             del pion[n][0:]
  57.  
  58.  
  59.         #wczytanie z poziomu dp pionu i posegregowanie na klatki
  60.    
  61.         for x,l in enumerate(poziom):
  62.             for j, liczby in enumerate(poziom[x]):
  63.  
  64.                 if (j == 0 or j == 1 or j == 2) and x <= 2:
  65.                     klatka[0].append(liczby)
  66.                 elif (j == 3 or j == 4 or j == 5) and x <= 2:
  67.                     klatka[1].append(liczby)
  68.                 elif (j == 6 or j == 7 or j == 8) and x <= 2:
  69.                     klatka[2].append(liczby)
  70.                 elif (j == 0 or j == 1 or j == 2) and (x > 2 and x <= 5):
  71.                     klatka[3].append(liczby)
  72.                 elif (j == 3 or j == 4 or j == 5) and (x > 2 and x <= 5):
  73.                     klatka[4].append(liczby)
  74.                 elif (j == 6 or j == 7 or j == 8) and (x > 2 and x <= 5):
  75.                     klatka[5].append(liczby)
  76.                 elif (j == 0 or j == 1 or j == 2) and (x > 5 and x <= 8):
  77.                     klatka[6].append(liczby)
  78.                 elif (j == 3 or j == 4 or j == 5) and (x > 5 and x <= 8):
  79.                     klatka[7].append(liczby)
  80.                 elif (j == 6 or j == 7 or j == 8) and (x > 5 and x <= 8):
  81.                     klatka[8].append(liczby)
  82.  
  83.                 pion[j].append(liczby)
  84.  
  85.  
  86.  
  87.         # w zaleznosci od i dopasowanie do klatki poziomu i pionu
  88.         if (
  89.             i == 0
  90.             or i == 1
  91.             or i == 2
  92.             or i == 9
  93.             or i == 10
  94.             or i == 11
  95.             or i == 18
  96.             or i == 19
  97.             or i == 20
  98.         ):
  99.  
  100.             liczba_klatka = 0
  101.  
  102.             if i == 0 or i == 1 or i == 2:
  103.                 liczba_poziom = 0
  104.             elif i == 9 or i == 10 or i == 11:
  105.                 liczba_poziom = 1
  106.             elif i == 18 or i == 19 or i == 20:
  107.                 liczba_poziom = 2
  108.  
  109.             if i % 3 == 0:
  110.                 liczba_pion = 0
  111.             elif i % 3 == 1:
  112.                 liczba_pion = 1
  113.             elif i % 3 == 2:
  114.                 liczba_pion = 2
  115.  
  116.         elif (
  117.             i == 3
  118.             or i == 4
  119.             or i == 5
  120.             or i == 12
  121.             or i == 13
  122.             or i == 14
  123.             or i == 21
  124.             or i == 22
  125.             or i == 23
  126.         ):
  127.  
  128.             liczba_klatka = 1
  129.  
  130.             if i == 3 or i == 4 or i == 5:
  131.                 liczba_poziom = 0
  132.             elif i == 12 or i == 13 or i == 14:
  133.                 liczba_poziom = 1
  134.             elif i == 21 or i == 22 or i == 23:
  135.                 liczba_poziom = 2
  136.  
  137.             if i % 3 == 0:
  138.                 liczba_pion = 3
  139.             elif i % 3 == 1:
  140.                 liczba_pion = 4
  141.             elif i % 3 == 2:
  142.                 liczba_pion = 5
  143.  
  144.         elif (
  145.             i == 6
  146.             or i == 7
  147.             or i == 8
  148.             or i == 15
  149.             or i == 16
  150.             or i == 17
  151.             or i == 24
  152.             or i == 25
  153.             or i == 26
  154.         ):
  155.  
  156.             liczba_klatka = 2
  157.  
  158.             if i == 6 or i == 7 or i == 8:
  159.                 liczba_poziom = 0
  160.             elif i == 15 or i == 16 or i == 17:
  161.                 liczba_poziom = 1
  162.             elif i == 24 or i == 25 or i == 26:
  163.                 liczba_poziom = 2
  164.  
  165.             if i % 3 == 0:
  166.                 liczba_pion = 6
  167.             elif i % 3 == 1:
  168.                 liczba_pion = 7
  169.             elif i % 3 == 2:
  170.                 liczba_pion = 8
  171.         # ------------------------------------------------------------------------------------------------------------------
  172.         elif (
  173.             i == 27
  174.             or i == 28
  175.             or i == 29
  176.             or i == 36
  177.             or i == 37
  178.             or i == 38
  179.             or i == 45
  180.             or i == 46
  181.             or i == 47
  182.         ):
  183.  
  184.             liczba_klatka = 3
  185.  
  186.             if i == 27 or i == 28 or i == 29:
  187.                 liczba_poziom = 3
  188.             elif i == 36 or i == 37 or i == 38:
  189.                 liczba_poziom = 4
  190.             elif i == 47 or i == 46 or i == 45:
  191.                 liczba_poziom = 5
  192.  
  193.             if i % 3 == 0:
  194.                 liczba_pion = 0
  195.             elif i % 3 == 1:
  196.                 liczba_pion = 1
  197.             elif i % 3 == 2:
  198.                 liczba_pion = 2
  199.  
  200.         elif (
  201.             i == 30
  202.             or i == 31
  203.             or i == 32
  204.             or i == 39
  205.             or i == 40
  206.             or i == 41
  207.             or i == 48
  208.             or i == 49
  209.             or i == 50
  210.         ):
  211.  
  212.             liczba_klatka = 4
  213.  
  214.             if i == 30 or i == 31 or i == 32:
  215.                 liczba_poziom = 3
  216.             elif i == 39 or i == 40 or i == 41:
  217.                 liczba_poziom = 4
  218.             elif i == 48 or i == 49 or i == 50:
  219.                 liczba_poziom = 5
  220.  
  221.             if i % 3 == 0:
  222.                 liczba_pion = 3
  223.             elif i % 3 == 1:
  224.                 liczba_pion = 4
  225.             elif i % 3 == 2:
  226.                 liczba_pion = 5
  227.  
  228.         elif (
  229.             i == 33
  230.             or i == 34
  231.             or i == 35
  232.             or i == 42
  233.             or i == 43
  234.             or i == 44
  235.             or i == 51
  236.             or i == 52
  237.             or i == 53
  238.         ):
  239.  
  240.             liczba_klatka = 5
  241.  
  242.             if i == 33 or i == 34 or i == 35:
  243.                 liczba_poziom = 3
  244.             elif i == 42 or i == 43 or i == 44:
  245.                 liczba_poziom = 4
  246.             elif i == 51 or i == 52 or i == 53:
  247.                 liczba_poziom = 5
  248.  
  249.             if i % 3 == 0:
  250.                 liczba_pion = 6
  251.             elif i % 3 == 1:
  252.                 liczba_pion = 7
  253.             elif i % 3 == 2:
  254.                 liczba_pion = 8
  255.  
  256.         # -----------------------------------------------------------------------------------------------------------------
  257.  
  258.         elif (
  259.             i == 54
  260.             or i == 55
  261.             or i == 56
  262.             or i == 63
  263.             or i == 64
  264.             or i == 65
  265.             or i == 72
  266.             or i == 73
  267.             or i == 74
  268.         ):
  269.  
  270.             liczba_klatka = 6
  271.  
  272.             if i == 54 or i == 55 or i == 56:
  273.                 liczba_poziom = 6
  274.             elif i == 63 or i == 64 or i == 65:
  275.                 liczba_poziom = 7
  276.             elif i == 72 or i == 73 or i == 74:
  277.                 liczba_poziom = 8
  278.  
  279.             if i % 3 == 0:
  280.                 liczba_pion = 0
  281.             elif i % 3 == 1:
  282.                 liczba_pion = 1
  283.             elif i % 3 == 2:
  284.                 liczba_pion = 2
  285.  
  286.         elif (
  287.             i == 57
  288.             or i == 58
  289.             or i == 59
  290.             or i == 66
  291.             or i == 67
  292.             or i == 68
  293.             or i == 75
  294.             or i == 76
  295.             or i == 77
  296.         ):
  297.  
  298.             liczba_klatka = 7
  299.  
  300.             if i == 57 or i == 58 or i == 59:
  301.                 liczba_poziom = 6
  302.             elif i == 66 or i == 67 or i == 68:
  303.                 liczba_poziom = 7
  304.             elif i == 75 or i == 76 or i == 77:
  305.                 liczba_poziom = 8
  306.  
  307.             if i % 3 == 0:
  308.                 liczba_pion = 3
  309.             elif i % 3 == 1:
  310.                 liczba_pion = 4
  311.             elif i % 3 == 2:
  312.                 liczba_pion = 5
  313.  
  314.         elif (
  315.             i == 60
  316.             or i == 61
  317.             or i == 62
  318.             or i == 69
  319.             or i == 70
  320.             or i == 71
  321.             or i == 78
  322.             or i == 79
  323.             or i == 80
  324.         ):
  325.  
  326.             liczba_klatka = 8
  327.  
  328.             if i == 60 or i == 61 or i == 62:
  329.                 liczba_poziom = 6
  330.             elif i == 69 or i == 70 or i == 71:
  331.                 liczba_poziom = 7
  332.             elif i == 78 or i == 79 or i == 80:
  333.                 liczba_poziom = 8
  334.  
  335.             if i % 3 == 0:
  336.                 liczba_pion = 6
  337.             elif i % 3 == 1:
  338.                 liczba_pion = 7
  339.             elif i % 3 == 2:
  340.                 liczba_pion = 8
  341.  
  342.        
  343.         #----------------------------------------------------------------------------------------------------------
  344. # wejscie do petli z warunkami kotre liczba musi spelnic liczby ida od 1 do 9 i po kolei sa srawdzane    
  345.  
  346.         for x in range(1, 10):
  347.             j = str(x)
  348.  
  349.             if j in klatka[liczba_klatka]:
  350.                 continue
  351.             if j in poziom[liczba_poziom]:
  352.                 continue
  353.             if j in pion[liczba_pion]:
  354.                 continue
  355.             if poziom[liczba_poziom][i%9] != '.':
  356.                 break
  357.        
  358.  
  359.             if liczba_pion % 3 == 0:
  360.  
  361.                 if liczba_poziom % 3 == 0:
  362.  
  363.                     # warunek z dwiema cyframi------------------------------------------------------------------
  364.  
  365.                     if (
  366.                         klatka[liczba_klatka][3] != "."
  367.                         and klatka[liczba_klatka][6] != "."
  368.                         and (j in pion[liczba_pion + 1])
  369.                         and (j in pion[liczba_pion + 2])
  370.                     ):
  371.                    
  372.                         poziom[liczba_poziom].pop(i%9)
  373.                         poziom[liczba_poziom].insert(i%9,j)
  374.  
  375.                     elif (
  376.                         klatka[liczba_klatka][1] != "."
  377.                         and klatka[liczba_klatka][2] != "."
  378.                         and (j in poziom[liczba_poziom + 1])
  379.                         and (j in poziom[liczba_poziom + 2])
  380.                     ):
  381.                      
  382.                         poziom[liczba_poziom].pop(i%9)
  383.                         poziom[liczba_poziom].insert(i%9,j)
  384.  
  385.                     # warunek z jedna cyfra---------------------------------------------------------------------
  386.  
  387.                     elif (
  388.                         (j in poziom[liczba_poziom + 1])
  389.                         and (j in poziom[liczba_poziom + 2])
  390.                         and (j in pion[liczba_pion + 1])
  391.                         and klatka[liczba_klatka][2] != "."
  392.                     ):
  393.                        
  394.                         poziom[liczba_poziom].pop(i%9)
  395.                         poziom[liczba_poziom].insert(i%9,j)
  396.                     elif (
  397.                         (j in poziom[liczba_poziom + 1])
  398.                         and (j in poziom[liczba_poziom + 2])
  399.                         and (j in pion[liczba_pion + 2])
  400.                         and klatka[liczba_klatka][1] != "."
  401.                     ):
  402.              
  403.                         poziom[liczba_poziom].pop(i%9)
  404.                         poziom[liczba_poziom].insert(i%9,j)
  405.  
  406.                     elif (
  407.                         (j in pion[liczba_pion + 1])
  408.                         and (j in pion[liczba_pion + 2])
  409.                         and (j in poziom[liczba_poziom + 1])
  410.                         and klatka[liczba_klatka][6] != "."
  411.                     ):
  412.                
  413.                         poziom[liczba_poziom].pop(i%9)
  414.                         poziom[liczba_poziom].insert(i%9,j)
  415.  
  416.                     elif (
  417.                         (j in pion[liczba_pion + 1])
  418.                         and (j in pion[liczba_pion + 2])
  419.                         and (j in poziom[liczba_poziom + 2])
  420.                         and klatka[liczba_klatka][3] != "."
  421.                     ):
  422.              
  423.                         poziom[liczba_poziom].pop(i%9)
  424.                         poziom[liczba_poziom].insert(i%9,j)
  425.  
  426.                     elif (
  427.                         (j in poziom[liczba_poziom + 2])
  428.                         and (j in poziom[liczba_poziom + 1])
  429.                         and (j in pion[liczba_pion + 1])
  430.                         and (j in pion[liczba_pion + 2])
  431.                     ):
  432.                        
  433.                         poziom[liczba_poziom].pop(i%9)
  434.                         poziom[liczba_poziom].insert(i%9,j)
  435.  
  436.                     # warunek z pięcioma cyframi-----------------------------------------------------------------
  437.                    
  438.                     elif (
  439.                         klatka[liczba_klatka][2] != '.'
  440.                         and klatka[liczba_klatka][5] != '.'
  441.                         and klatka[liczba_klatka][8] != '.'
  442.                         and klatka[liczba_klatka][3] != '.'
  443.                         and klatka[liczba_klatka][6] != '.'
  444.                         and (j in pion[liczba_pion + 1])
  445.                     ):
  446.                        
  447.                         poziom[liczba_poziom].pop(i%9)
  448.                         poziom[liczba_poziom].insert(i%9,j)
  449.                    
  450.                     elif (
  451.                         klatka[liczba_klatka][1] != '.'
  452.                         and klatka[liczba_klatka][2] != '.'
  453.                         and klatka[liczba_klatka][6] != '.'
  454.                         and klatka[liczba_klatka][7] != '.'
  455.                         and klatka[liczba_klatka][8] != '.'
  456.                         and (j in poziom[liczba_poziom + 1])
  457.                     ):
  458.                        
  459.                         poziom[liczba_poziom].pop(i%9)
  460.                         poziom[liczba_poziom].insert(i%9,j)
  461.                    
  462.                     elif (
  463.                         klatka[liczba_klatka][1] != '.'
  464.                         and klatka[liczba_klatka][4] != '.'
  465.                         and klatka[liczba_klatka][7] != '.'
  466.                         and klatka[liczba_klatka][3] != '.'
  467.                         and klatka[liczba_klatka][6] != '.'
  468.                         and (j in pion[liczba_pion + 2])
  469.                     ):
  470.                        
  471.                         poziom[liczba_poziom].pop(i%9)
  472.                         poziom[liczba_poziom].insert(i%9,j)
  473.                    
  474.                     elif (
  475.                         klatka[liczba_klatka][1] != '.'
  476.                         and klatka[liczba_klatka][2] != '.'
  477.                         and klatka[liczba_klatka][3] != '.'
  478.                         and klatka[liczba_klatka][4] != '.'
  479.                         and klatka[liczba_klatka][5] != '.'
  480.                         and (j in poziom[liczba_poziom + 2])
  481.                     ):
  482.                        
  483.                         poziom[liczba_poziom].pop(i%9)
  484.                         poziom[liczba_poziom].insert(i%9,j)
  485.  
  486.                     # warunek z trzema cyframi -------------------------------------------------------------
  487.  
  488.                     elif (
  489.                         klatka[liczba_klatka][2] != '.'
  490.                         and klatka[liczba_klatka][6] != '.'
  491.                         and klatka[liczba_klatka][8] != '.'
  492.                         and (j in poziom[liczba_poziom + 1])
  493.                         and (j in pion[liczba_pion + 1])
  494.                     ):
  495.                        
  496.                         poziom[liczba_poziom].pop(i%9)
  497.                         poziom[liczba_poziom].insert(i%9,j)
  498.  
  499.                     elif (
  500.                         klatka[liczba_klatka][1] != '.'
  501.                         and klatka[liczba_klatka][6] != '.'
  502.                         and klatka[liczba_klatka][7] != '.'
  503.                         and (j in poziom[liczba_poziom + 1])
  504.                         and (j in pion[liczba_pion + 2])
  505.                     ):
  506.                        
  507.                         poziom[liczba_poziom].pop(i%9)
  508.                         poziom[liczba_poziom].insert(i%9,j)
  509.  
  510.                     elif (
  511.                         klatka[liczba_klatka][1] != '.'
  512.                         and klatka[liczba_klatka][3] != '.'
  513.                         and klatka[liczba_klatka][4] != '.'
  514.                         and (j in poziom[liczba_poziom + 2])
  515.                         and (j in pion[liczba_pion + 2])
  516.                     ):
  517.                        
  518.                         poziom[liczba_poziom].pop(i%9)
  519.                         poziom[liczba_poziom].insert(i%9,j)
  520.  
  521.                     elif (
  522.                         klatka[liczba_klatka][2] != '.'
  523.                         and klatka[liczba_klatka][5] != '.'
  524.                         and klatka[liczba_klatka][3] != '.'
  525.                         and (j in poziom[liczba_poziom + 2])
  526.                         and (j in pion[liczba_pion + 1])
  527.                     ):
  528.                        
  529.                         poziom[liczba_poziom].pop(i%9)
  530.                         poziom[liczba_poziom].insert(i%9,j)
  531.  
  532.                     # warunek z ostatnia cyfra--------------------------------------------------------------
  533.                    
  534.                     #klatka
  535.                     elif (
  536.                         j not in klatka[liczba_klatka]
  537.                         and klatka[liczba_klatka][1] != '.'
  538.                         and klatka[liczba_klatka][2] != '.'
  539.                         and klatka[liczba_klatka][3] != '.'
  540.                         and klatka[liczba_klatka][4] != '.'
  541.                         and klatka[liczba_klatka][5] != '.'
  542.                         and klatka[liczba_klatka][6] != '.'
  543.                         and klatka[liczba_klatka][7] != '.'
  544.                         and klatka[liczba_klatka][8] != '.'
  545.                     ):
  546.                        
  547.                         poziom[liczba_poziom].pop(i%9)
  548.                         poziom[liczba_poziom].insert(i%9,j)
  549.  
  550.                 #???????????????????????????????????????????????????????????????????????????????????????????
  551.  
  552.                 elif liczba_poziom % 3 == 1:
  553.  
  554.                     # warunek z dwiema cyframi-------------------------------------------------------------------
  555.  
  556.                     if (
  557.                         klatka[liczba_klatka][4] != "."
  558.                         and klatka[liczba_klatka][5] != "."
  559.                         and (j in poziom[liczba_poziom - 1])
  560.                         and (j in poziom[liczba_poziom + 1])
  561.                     ):
  562.                        
  563.                         poziom[liczba_poziom].pop(i%9)
  564.                         poziom[liczba_poziom].insert(i%9,j)
  565.  
  566.                     elif (
  567.                         klatka[liczba_klatka][0] != "."
  568.                         and klatka[liczba_klatka][6] != "."
  569.                         and (j in pion[liczba_pion + 1])
  570.                         and (j in pion[liczba_pion + 2])
  571.                     ):
  572.                         poziom[liczba_poziom].pop(i%9)
  573.                         poziom[liczba_poziom].insert(i%9,j)
  574.  
  575.                     # warunek z jedna cyfra---------------------------------------------------------------------
  576.  
  577.                     elif (
  578.                         (j in poziom[liczba_poziom + 1])
  579.                         and (j in poziom[liczba_poziom - 1])
  580.                         and (j in pion[liczba_pion + 2])
  581.                         and klatka[liczba_klatka][4] != "."
  582.                     ):
  583.                         poziom[liczba_poziom].pop(i%9)
  584.                         poziom[liczba_poziom].insert(i%9,j)
  585.  
  586.                     elif (
  587.                         (j in poziom[liczba_poziom + 1])
  588.                         and (j in poziom[liczba_poziom - 1])
  589.                         and (j in pion[liczba_pion + 1])
  590.                         and klatka[liczba_klatka][5] != "."
  591.                     ):
  592.                         poziom[liczba_poziom].pop(i%9)
  593.                         poziom[liczba_poziom].insert(i%9,j)
  594.  
  595.                     elif (
  596.                         (j in pion[liczba_pion + 1])
  597.                         and (j in pion[liczba_pion + 2])
  598.                         and (j in poziom[liczba_poziom + 1])
  599.                         and klatka[liczba_klatka][0] != "."
  600.                     ):
  601.                         poziom[liczba_poziom].pop(i%9)
  602.                         poziom[liczba_poziom].insert(i%9,j)
  603.  
  604.                     elif (
  605.                         (j in pion[liczba_pion + 1])
  606.                         and (j in pion[liczba_pion + 2])
  607.                         and (j in poziom[liczba_poziom - 1])
  608.                         and klatka[liczba_klatka][6] != "."
  609.                     ):
  610.                         poziom[liczba_poziom].pop(i%9)
  611.                         poziom[liczba_poziom].insert(i%9,j)
  612.  
  613.                     elif (
  614.                         (j in poziom[liczba_poziom - 1])
  615.                         and (j in poziom[liczba_poziom + 1])
  616.                         and (j in pion[liczba_pion + 1])
  617.                         and (j in pion[liczba_pion + 2])
  618.                     ):
  619.                         poziom[liczba_poziom].pop(i%9)
  620.                         poziom[liczba_poziom].insert(i%9,j)
  621.                    
  622.                     # warunek z pięcioma cyframi-----------------------------------------------------------------
  623.                    
  624.                     elif (
  625.                         klatka[liczba_klatka][0] != '.'
  626.                         and klatka[liczba_klatka][6] != '.'
  627.                         and klatka[liczba_klatka][2] != '.'
  628.                         and klatka[liczba_klatka][5] != '.'
  629.                         and klatka[liczba_klatka][8] != '.'
  630.                         and (j in pion[liczba_pion + 1])
  631.                     ):
  632.                        
  633.                         poziom[liczba_poziom].pop(i%9)
  634.                         poziom[liczba_poziom].insert(i%9,j)
  635.                    
  636.                     elif (
  637.                         klatka[liczba_klatka][0] != '.'
  638.                         and klatka[liczba_klatka][1] != '.'
  639.                         and klatka[liczba_klatka][2] != '.'
  640.                         and klatka[liczba_klatka][4] != '.'
  641.                         and klatka[liczba_klatka][5] != '.'
  642.                         and (j in poziom[liczba_poziom + 1])
  643.                     ):
  644.                        
  645.                         poziom[liczba_poziom].pop(i%9)
  646.                         poziom[liczba_poziom].insert(i%9,j)
  647.                    
  648.                     elif (
  649.                         klatka[liczba_klatka][0] != '.'
  650.                         and klatka[liczba_klatka][1] != '.'
  651.                         and klatka[liczba_klatka][4] != '.'
  652.                         and klatka[liczba_klatka][6] != '.'
  653.                         and klatka[liczba_klatka][7] != '.'
  654.                         and (j in pion[liczba_pion + 2])
  655.                     ):
  656.                        
  657.                         poziom[liczba_poziom].pop(i%9)
  658.                         poziom[liczba_poziom].insert(i%9,j)
  659.                    
  660.                     elif (
  661.                         klatka[liczba_klatka][4] != '.'
  662.                         and klatka[liczba_klatka][5] != '.'
  663.                         and klatka[liczba_klatka][6] != '.'
  664.                         and klatka[liczba_klatka][7] != '.'
  665.                         and klatka[liczba_klatka][8] != '.'
  666.                         and (j in poziom[liczba_poziom - 1])
  667.                     ):
  668.                        
  669.                         poziom[liczba_poziom].pop(i%9)
  670.                         poziom[liczba_poziom].insert(i%9,j)
  671.  
  672.                     # warunek z trzema cyframi -------------------------------------------------------------
  673.  
  674.                     elif (
  675.                         klatka[liczba_klatka][5] != '.'
  676.                         and klatka[liczba_klatka][6] != '.'
  677.                         and klatka[liczba_klatka][8] != '.'
  678.                         and (j in poziom[liczba_poziom - 1])
  679.                         and (j in pion[liczba_pion + 1])
  680.                     ):
  681.                        
  682.                         poziom[liczba_poziom].pop(i%9)
  683.                         poziom[liczba_poziom].insert(i%9,j)
  684.  
  685.                     elif (
  686.                         klatka[liczba_klatka][0] != '.'
  687.                         and klatka[liczba_klatka][2] != '.'
  688.                         and klatka[liczba_klatka][5] != '.'
  689.                         and (j in poziom[liczba_poziom + 1])
  690.                         and (j in pion[liczba_pion + 1])
  691.                     ):
  692.                        
  693.                         poziom[liczba_poziom].pop(i%9)
  694.                         poziom[liczba_poziom].insert(i%9,j)
  695.  
  696.                     elif (
  697.                         klatka[liczba_klatka][4] != '.'
  698.                         and klatka[liczba_klatka][6] != '.'
  699.                         and klatka[liczba_klatka][7] != '.'
  700.                         and (j in poziom[liczba_poziom - 1])
  701.                         and (j in pion[liczba_pion + 2])
  702.                     ):
  703.                        
  704.                         poziom[liczba_poziom].pop(i%9)
  705.                         poziom[liczba_poziom].insert(i%9,j)
  706.  
  707.                     elif (
  708.                         klatka[liczba_klatka][0] != '.'
  709.                         and klatka[liczba_klatka][1] != '.'
  710.                         and klatka[liczba_klatka][4] != '.'
  711.                         and (j in poziom[liczba_poziom + 1])
  712.                         and (j in pion[liczba_pion + 2])
  713.                     ):
  714.                        
  715.                         poziom[liczba_poziom].pop(i%9)
  716.                         poziom[liczba_poziom].insert(i%9,j)
  717.  
  718.                     # warunek z ostatnia cyfra--------------------------------------------------------------
  719.                    
  720.                     #klatka
  721.                     elif (
  722.                         j not in klatka[liczba_klatka]
  723.                         and klatka[liczba_klatka][0] != '.'
  724.                         and klatka[liczba_klatka][2] != '.'
  725.                         and klatka[liczba_klatka][3] != '.'
  726.                         and klatka[liczba_klatka][4] != '.'
  727.                         and klatka[liczba_klatka][5] != '.'
  728.                         and klatka[liczba_klatka][6] != '.'
  729.                         and klatka[liczba_klatka][7] != '.'
  730.                         and klatka[liczba_klatka][8] != '.'
  731.                     ):
  732.                        
  733.                         poziom[liczba_poziom].pop(i%9)
  734.                         poziom[liczba_poziom].insert(i%9,j)
  735.  
  736.                 #???????????????????????????????????????????????????????????????????????????????????????????
  737.  
  738.                 elif liczba_poziom % 3 == 2:
  739.                    
  740.                     # warunek z dwoma cyframi-----------------------------------------------------------------
  741.  
  742.                     if (
  743.                         klatka[liczba_klatka][3] != "."
  744.                         and klatka[liczba_klatka][0] != "."
  745.                         and (j in pion[liczba_pion + 1])
  746.                         and (j in pion[liczba_pion + 2])
  747.                     ):
  748.                         poziom[liczba_poziom].pop(i%9)
  749.                         poziom[liczba_poziom].insert(i%9,j)
  750.  
  751.                     elif (
  752.                         klatka[liczba_klatka][8] != "."
  753.                         and klatka[liczba_klatka][7] != "."
  754.                         and (j in poziom[liczba_poziom - 1])
  755.                         and (j in poziom[liczba_poziom - 2])
  756.                     ):
  757.                         poziom[liczba_poziom].pop(i%9)
  758.                         poziom[liczba_poziom].insert(i%9,j)
  759.  
  760.                     # warunek z jedna cyfra-----------------------------------------------------------------
  761.  
  762.                     elif (
  763.                         (j in poziom[liczba_poziom - 1])
  764.                         and (j in poziom[liczba_poziom - 2])
  765.                         and (j in pion[liczba_pion + 1])
  766.                         and klatka[liczba_klatka][8] != "."
  767.                     ):
  768.                         poziom[liczba_poziom].pop(i%9)
  769.                         poziom[liczba_poziom].insert(i%9,j)
  770.  
  771.                     elif (
  772.                         (j in poziom[liczba_poziom - 1])
  773.                         and (j in poziom[liczba_poziom - 2])
  774.                         and (j in pion[liczba_pion + 2])
  775.                         and klatka[liczba_klatka][7] != "."
  776.                     ):
  777.                         poziom[liczba_poziom].pop(i%9)
  778.                         poziom[liczba_poziom].insert(i%9,j)
  779.  
  780.                     elif (
  781.                         (j in pion[liczba_pion + 1])
  782.                         and (j in pion[liczba_pion + 2])
  783.                         and (j in poziom[liczba_poziom - 1])
  784.                         and klatka[liczba_klatka][0] != "."
  785.                     ):
  786.                         poziom[liczba_poziom].pop(i%9)
  787.                         poziom[liczba_poziom].insert(i%9,j)
  788.  
  789.                     elif (
  790.                         (j in pion[liczba_pion + 1])
  791.                         and (j in pion[liczba_pion + 2])
  792.                         and (j in poziom[liczba_poziom - 2])
  793.                         and klatka[liczba_klatka][3] != '.'
  794.                     ):
  795.                         poziom[liczba_poziom].pop(i%9)
  796.                         poziom[liczba_poziom].insert(i%9,j)
  797.  
  798.                     elif (
  799.                         (j in poziom[liczba_poziom - 2])
  800.                         and (j in poziom[liczba_poziom - 1])
  801.                         and (j in pion[liczba_pion + 1])
  802.                         and (j in pion[liczba_pion + 2])
  803.                     ):
  804.                         poziom[liczba_poziom].pop(i%9)
  805.                         poziom[liczba_poziom].insert(i%9,j)
  806.  
  807.                     # warunek z pięcioma cyframi-----------------------------------------------------------------
  808.                    
  809.                     elif (
  810.                         klatka[liczba_klatka][0] != '.'
  811.                         and klatka[liczba_klatka][3] != '.'
  812.                         and klatka[liczba_klatka][2] != '.'
  813.                         and klatka[liczba_klatka][5] != '.'
  814.                         and klatka[liczba_klatka][8] != '.'
  815.                         and (j in pion[liczba_pion + 1])
  816.                     ):
  817.                        
  818.                         poziom[liczba_poziom].pop(i%9)
  819.                         poziom[liczba_poziom].insert(i%9,j)
  820.                    
  821.                     elif (
  822.                         klatka[liczba_klatka][0] != '.'
  823.                         and klatka[liczba_klatka][1] != '.'
  824.                         and klatka[liczba_klatka][2] != '.'
  825.                         and klatka[liczba_klatka][7] != '.'
  826.                         and klatka[liczba_klatka][8] != '.'
  827.                         and (j in poziom[liczba_poziom - 1])
  828.                     ):
  829.                        
  830.                         poziom[liczba_poziom].pop(i%9)
  831.                         poziom[liczba_poziom].insert(i%9,j)
  832.                    
  833.                     elif (
  834.                         klatka[liczba_klatka][3] != '.'
  835.                         and klatka[liczba_klatka][4] != '.'
  836.                         and klatka[liczba_klatka][5] != '.'
  837.                         and klatka[liczba_klatka][7] != '.'
  838.                         and klatka[liczba_klatka][8] != '.'
  839.                         and (j in poziom[liczba_poziom - 2])
  840.                     ):
  841.                        
  842.                         poziom[liczba_poziom].pop(i%9)
  843.                         poziom[liczba_poziom].insert(i%9,j)
  844.                    
  845.                     elif (
  846.                         klatka[liczba_klatka][0] != '.'
  847.                         and klatka[liczba_klatka][1] != '.'
  848.                         and klatka[liczba_klatka][3] != '.'
  849.                         and klatka[liczba_klatka][4] != '.'
  850.                         and klatka[liczba_klatka][7] != '.'
  851.                         and (j in pion[liczba_pion + 2])
  852.                     ):
  853.                        
  854.                         poziom[liczba_poziom].pop(i%9)
  855.                         poziom[liczba_poziom].insert(i%9,j)
  856.  
  857.                     # warunek z trzema cyframi -------------------------------------------------------------
  858.  
  859.                     elif (
  860.                         klatka[liczba_klatka][3] != '.'
  861.                         and klatka[liczba_klatka][5] != '.'
  862.                         and klatka[liczba_klatka][8] != '.'
  863.                         and (j in poziom[liczba_poziom - 2])
  864.                         and (j in pion[liczba_pion + 1])
  865.                     ):
  866.                        
  867.                         poziom[liczba_poziom].pop(i%9)
  868.                         poziom[liczba_poziom].insert(i%9,j)
  869.  
  870.                     elif (
  871.                         klatka[liczba_klatka][0] != '.'
  872.                         and klatka[liczba_klatka][2] != '.'
  873.                         and klatka[liczba_klatka][8] != '.'
  874.                         and (j in poziom[liczba_poziom - 1])
  875.                         and (j in pion[liczba_pion + 1])
  876.                     ):
  877.                        
  878.                         poziom[liczba_poziom].pop(i%9)
  879.                         poziom[liczba_poziom].insert(i%9,j)
  880.  
  881.                     elif (
  882.                         klatka[liczba_klatka][0] != '.'
  883.                         and klatka[liczba_klatka][1] != '.'
  884.                         and klatka[liczba_klatka][7] != '.'
  885.                         and (j in poziom[liczba_poziom - 1])
  886.                         and (j in pion[liczba_pion + 2])
  887.                     ):
  888.                        
  889.                         poziom[liczba_poziom].pop(i%9)
  890.                         poziom[liczba_poziom].insert(i%9,j)
  891.  
  892.                     elif (
  893.                         klatka[liczba_klatka][3] != '.'
  894.                         and klatka[liczba_klatka][4] != '.'
  895.                         and klatka[liczba_klatka][7] != '.'
  896.                         and (j in poziom[liczba_poziom - 2])
  897.                         and (j in pion[liczba_pion + 2])
  898.                     ):
  899.                        
  900.                         poziom[liczba_poziom].pop(i%9)
  901.                         poziom[liczba_poziom].insert(i%9,j)
  902.                    
  903.                     # warunek z ostatnia cyfra--------------------------------------------------------------
  904.                    
  905.                     #klatka
  906.                     elif (
  907.                         j not in klatka[liczba_klatka]
  908.                         and klatka[liczba_klatka][0] != '.'
  909.                         and klatka[liczba_klatka][1] != '.'
  910.                         and klatka[liczba_klatka][3] != '.'
  911.                         and klatka[liczba_klatka][4] != '.'
  912.                         and klatka[liczba_klatka][5] != '.'
  913.                         and klatka[liczba_klatka][6] != '.'
  914.                         and klatka[liczba_klatka][7] != '.'
  915.                         and klatka[liczba_klatka][8] != '.'
  916.                     ):
  917.                        
  918.                         poziom[liczba_poziom].pop(i%9)
  919.                         poziom[liczba_poziom].insert(i%9,j)
  920.  
  921.                 #???????????????????????????????????????????????????????????????????????????????????????????
  922.             # --------------------------------------------------------------------------------------------------
  923.  
  924.             elif liczba_pion % 3 == 1:
  925.  
  926.                 if liczba_poziom % 3 == 0:
  927.  
  928.                     # warunek z dwiema cyframi-----------------------------------------------------------------
  929.  
  930.                     if (
  931.                         klatka[liczba_klatka][4] != "."
  932.                         and klatka[liczba_klatka][7] != "."
  933.                         and (j in pion[liczba_pion + 1])
  934.                         and (j in pion[liczba_pion - 1])
  935.                     ):
  936.                         poziom[liczba_poziom].pop(i%9)
  937.                         poziom[liczba_poziom].insert(i%9,j)
  938.  
  939.                     elif (
  940.                         klatka[liczba_klatka][2] != "."
  941.                         and klatka[liczba_klatka][0] != "."
  942.                         and (j in poziom[liczba_poziom + 1])
  943.                         and (j in poziom[liczba_poziom + 2])
  944.                     ):
  945.                         poziom[liczba_poziom].pop(i%9)
  946.                         poziom[liczba_poziom].insert(i%9,j)
  947.  
  948.                     # warunek z jedna cyfra-----------------------------------------------------------------
  949.  
  950.                     elif (
  951.                         (j in poziom[liczba_poziom + 1])
  952.                         and (j in poziom[liczba_poziom + 2])
  953.                         and (j in pion[liczba_pion + 1])
  954.                         and klatka[liczba_klatka][0] != "."
  955.                     ):
  956.                         poziom[liczba_poziom].pop(i%9)
  957.                         poziom[liczba_poziom].insert(i%9,j)
  958.  
  959.                     elif (
  960.                         (j in poziom[liczba_poziom + 1])
  961.                         and (j in poziom[liczba_poziom + 2])
  962.                         and (j in pion[liczba_pion - 1])
  963.                         and klatka[liczba_klatka][2] != "."
  964.                     ):
  965.                         poziom[liczba_poziom].pop(i%9)
  966.                         poziom[liczba_poziom].insert(i%9,j)
  967.  
  968.                     elif (
  969.                         (j in pion[liczba_pion + 1])
  970.                         and (j in pion[liczba_pion - 1])
  971.                         and (j in poziom[liczba_poziom + 2])
  972.                         and klatka[liczba_klatka][4] != "."
  973.                     ):
  974.                         poziom[liczba_poziom].pop(i%9)
  975.                         poziom[liczba_poziom].insert(i%9,j)
  976.  
  977.                     elif (
  978.                         (j in pion[liczba_pion + 1])
  979.                         and (j in pion[liczba_pion - 1])
  980.                         and (j in poziom[liczba_poziom + 1])
  981.                         and klatka[liczba_klatka][7] != '.'
  982.                     ):
  983.                         poziom[liczba_poziom].pop(i%9)
  984.                         poziom[liczba_poziom].insert(i%9,j)
  985.  
  986.                     elif (
  987.                         (j in poziom[liczba_poziom + 2])
  988.                         and (j in poziom[liczba_poziom + 1])
  989.                         and (j in pion[liczba_pion + 1])
  990.                         and (j in pion[liczba_pion - 1])
  991.                     ):
  992.                         poziom[liczba_poziom].pop(i%9)
  993.                         poziom[liczba_poziom].insert(i%9,j)
  994.  
  995.                     # warunek z pięcioma cyframi-----------------------------------------------------------------
  996.                    
  997.                     elif (
  998.                         klatka[liczba_klatka][0] != '.'
  999.                         and klatka[liczba_klatka][3] != '.'
  1000.                         and klatka[liczba_klatka][4] != '.'
  1001.                         and klatka[liczba_klatka][6] != '.'
  1002.                         and klatka[liczba_klatka][7] != '.'
  1003.                         and (j in pion[liczba_pion + 1])
  1004.                     ):
  1005.                        
  1006.                         poziom[liczba_poziom].pop(i%9)
  1007.                         poziom[liczba_poziom].insert(i%9,j)
  1008.                    
  1009.                     elif (
  1010.                         klatka[liczba_klatka][0] != '.'
  1011.                         and klatka[liczba_klatka][2] != '.'
  1012.                         and klatka[liczba_klatka][6] != '.'
  1013.                         and klatka[liczba_klatka][7] != '.'
  1014.                         and klatka[liczba_klatka][8] != '.'
  1015.                         and (j in poziom[liczba_poziom + 1])
  1016.                     ):
  1017.                        
  1018.                         poziom[liczba_poziom].pop(i%9)
  1019.                         poziom[liczba_poziom].insert(i%9,j)
  1020.                    
  1021.                     elif (
  1022.                         klatka[liczba_klatka][0] != '.'
  1023.                         and klatka[liczba_klatka][2] != '.'
  1024.                         and klatka[liczba_klatka][3] != '.'
  1025.                         and klatka[liczba_klatka][4] != '.'
  1026.                         and klatka[liczba_klatka][5] != '.'
  1027.                         and (j in poziom[liczba_poziom + 2])
  1028.                     ):
  1029.                        
  1030.                         poziom[liczba_poziom].pop(i%9)
  1031.                         poziom[liczba_poziom].insert(i%9,j)
  1032.                    
  1033.                     elif (
  1034.                         klatka[liczba_klatka][2] != '.'
  1035.                         and klatka[liczba_klatka][4] != '.'
  1036.                         and klatka[liczba_klatka][5] != '.'
  1037.                         and klatka[liczba_klatka][7] != '.'
  1038.                         and klatka[liczba_klatka][8] != '.'
  1039.                         and (j in pion[liczba_pion - 1])
  1040.                     ):
  1041.                        
  1042.                         poziom[liczba_poziom].pop(i%9)
  1043.                         poziom[liczba_poziom].insert(i%9,j)
  1044.                
  1045.                     # warunek z trzema cyframi -------------------------------------------------------------
  1046.  
  1047.                     elif (
  1048.                         klatka[liczba_klatka][2] != '.'
  1049.                         and klatka[liczba_klatka][7] != '.'
  1050.                         and klatka[liczba_klatka][8] != '.'
  1051.                         and (j in poziom[liczba_poziom + 1])
  1052.                         and (j in pion[liczba_pion - 1])
  1053.                     ):
  1054.                        
  1055.                         poziom[liczba_poziom].pop(i%9)
  1056.                         poziom[liczba_poziom].insert(i%9,j)
  1057.  
  1058.                     elif (
  1059.                         klatka[liczba_klatka][0] != '.'
  1060.                         and klatka[liczba_klatka][3] != '.'
  1061.                         and klatka[liczba_klatka][4] != '.'
  1062.                         and (j in poziom[liczba_poziom + 2])
  1063.                         and (j in pion[liczba_pion + 1])
  1064.                     ):
  1065.                        
  1066.                         poziom[liczba_poziom].pop(i%9)
  1067.                         poziom[liczba_poziom].insert(i%9,j)
  1068.  
  1069.                     elif (
  1070.                         klatka[liczba_klatka][2] != '.'
  1071.                         and klatka[liczba_klatka][4] != '.'
  1072.                         and klatka[liczba_klatka][5] != '.'
  1073.                         and (j in poziom[liczba_poziom + 2])
  1074.                         and (j in pion[liczba_pion - 1])
  1075.                     ):
  1076.                        
  1077.                         poziom[liczba_poziom].pop(i%9)
  1078.                         poziom[liczba_poziom].insert(i%9,j)
  1079.  
  1080.                     elif (
  1081.                         klatka[liczba_klatka][0] != '.'
  1082.                         and klatka[liczba_klatka][6] != '.'
  1083.                         and klatka[liczba_klatka][7] != '.'
  1084.                         and (j in poziom[liczba_poziom + 1])
  1085.                         and (j in pion[liczba_pion + 1])
  1086.                     ):
  1087.                        
  1088.                         poziom[liczba_poziom].pop(i%9)
  1089.                         poziom[liczba_poziom].insert(i%9,j)
  1090.  
  1091.                     # warunek z ostatnia cyfra--------------------------------------------------------------
  1092.                    
  1093.                     #klatka
  1094.                     elif (
  1095.                         j not in klatka[liczba_klatka]
  1096.                         and klatka[liczba_klatka][0] != '.'
  1097.                         and klatka[liczba_klatka][1] != '.'
  1098.                         and klatka[liczba_klatka][2] != '.'
  1099.                         and klatka[liczba_klatka][4] != '.'
  1100.                         and klatka[liczba_klatka][5] != '.'
  1101.                         and klatka[liczba_klatka][6] != '.'
  1102.                         and klatka[liczba_klatka][7] != '.'
  1103.                         and klatka[liczba_klatka][8] != '.'
  1104.                     ):
  1105.                        
  1106.                         poziom[liczba_poziom].pop(i%9)
  1107.                         poziom[liczba_poziom].insert(i%9,j)
  1108.  
  1109.                 #???????????????????????????????????????????????????????????????????????????????????????????
  1110.  
  1111.                 elif liczba_poziom % 3 == 1:
  1112.  
  1113.                     # warunek z dwiema cyframi-----------------------------------------------------------------
  1114.  
  1115.                     if (
  1116.                         klatka[liczba_klatka][1] != "."
  1117.                         and klatka[liczba_klatka][7] != "."
  1118.                         and (j in pion[liczba_pion + 1])
  1119.                         and (j in pion[liczba_pion - 1])
  1120.                     ):
  1121.                         poziom[liczba_poziom].pop(i%9)
  1122.                         poziom[liczba_poziom].insert(i%9,j)
  1123.  
  1124.                     elif (
  1125.                         klatka[liczba_klatka][5] != "."
  1126.                         and klatka[liczba_klatka][3] != "."
  1127.                         and (j in poziom[liczba_poziom + 1])
  1128.                         and (j in poziom[liczba_poziom - 1])
  1129.                     ):
  1130.                         poziom[liczba_poziom].pop(i%9)
  1131.                         poziom[liczba_poziom].insert(i%9,j)
  1132.  
  1133.                     # warunek z jedna cyfra-----------------------------------------------------------------
  1134.  
  1135.                     elif (
  1136.                         (j in poziom[liczba_poziom + 1])
  1137.                         and (j in poziom[liczba_poziom - 1])
  1138.                         and (j in pion[liczba_pion - 1])
  1139.                         and klatka[liczba_klatka][5] != "."
  1140.                     ):
  1141.                         poziom[liczba_poziom].pop(i%9)
  1142.                         poziom[liczba_poziom].insert(i%9,j)
  1143.  
  1144.                     elif (
  1145.                         (j in poziom[liczba_poziom + 1])
  1146.                         and (j in poziom[liczba_poziom - 1])
  1147.                         and (j in pion[liczba_pion + 1])
  1148.                         and klatka[liczba_klatka][3] != "."
  1149.                     ):
  1150.                         poziom[liczba_poziom].pop(i%9)
  1151.                         poziom[liczba_poziom].insert(i%9,j)
  1152.  
  1153.                     elif (
  1154.                         (j in pion[liczba_pion + 1])
  1155.                         and (j in pion[liczba_pion - 1])
  1156.                         and (j in poziom[liczba_poziom + 1])
  1157.                         and klatka[liczba_klatka][1] != "."
  1158.                     ):
  1159.                         poziom[liczba_poziom].pop(i%9)
  1160.                         poziom[liczba_poziom].insert(i%9,j)
  1161.  
  1162.                     elif (
  1163.                         (j in pion[liczba_pion + 1])
  1164.                         and (j in pion[liczba_pion - 1])
  1165.                         and (j in poziom[liczba_poziom - 1])
  1166.                         and klatka[liczba_klatka][7] != '.'
  1167.                     ):
  1168.                         poziom[liczba_poziom].pop(i%9)
  1169.                         poziom[liczba_poziom].insert(i%9,j)
  1170.                     elif (
  1171.                         (j in poziom[liczba_poziom + 1])
  1172.                         and (j in poziom[liczba_poziom - 1])
  1173.                         and (j in pion[liczba_pion + 1])
  1174.                         and (j in pion[liczba_pion - 1])
  1175.                     ):
  1176.                         poziom[liczba_poziom].pop(i%9)
  1177.                         poziom[liczba_poziom].insert(i%9,j)
  1178.                    
  1179.                     # warunek z pięcioma cyframi-----------------------------------------------------------------
  1180.                    
  1181.                     elif (
  1182.                         klatka[liczba_klatka][0] != '.'
  1183.                         and klatka[liczba_klatka][1] != '.'
  1184.                         and klatka[liczba_klatka][3] != '.'
  1185.                         and klatka[liczba_klatka][6] != '.'
  1186.                         and klatka[liczba_klatka][7] != '.'
  1187.                         and (j in pion[liczba_pion + 1])
  1188.                     ):
  1189.                        
  1190.                         poziom[liczba_poziom].pop(i%9)
  1191.                         poziom[liczba_poziom].insert(i%9,j)
  1192.                    
  1193.                     elif (
  1194.                         klatka[liczba_klatka][3] != '.'
  1195.                         and klatka[liczba_klatka][5] != '.'
  1196.                         and klatka[liczba_klatka][6] != '.'
  1197.                         and klatka[liczba_klatka][7] != '.'
  1198.                         and klatka[liczba_klatka][8] != '.'
  1199.                         and (j in poziom[liczba_poziom - 1])
  1200.                     ):
  1201.                        
  1202.                         poziom[liczba_poziom].pop(i%9)
  1203.                         poziom[liczba_poziom].insert(i%9,j)
  1204.                    
  1205.                     elif (
  1206.                         klatka[liczba_klatka][0] != '.'
  1207.                         and klatka[liczba_klatka][1] != '.'
  1208.                         and klatka[liczba_klatka][2] != '.'
  1209.                         and klatka[liczba_klatka][3] != '.'
  1210.                         and klatka[liczba_klatka][5] != '.'
  1211.                         and (j in poziom[liczba_poziom + 1])
  1212.                     ):
  1213.                        
  1214.                         poziom[liczba_poziom].pop(i%9)
  1215.                         poziom[liczba_poziom].insert(i%9,j)
  1216.                    
  1217.                     elif (
  1218.                         klatka[liczba_klatka][1] != '.'
  1219.                         and klatka[liczba_klatka][2] != '.'
  1220.                         and klatka[liczba_klatka][5] != '.'
  1221.                         and klatka[liczba_klatka][8] != '.'
  1222.                         and klatka[liczba_klatka][7] != '.'
  1223.                         and (j in pion[liczba_pion - 1])
  1224.                     ):
  1225.                        
  1226.                         poziom[liczba_poziom].pop(i%9)
  1227.                         poziom[liczba_poziom].insert(i%9,j)
  1228.                    
  1229.                     # warunek z trzema cyframi -------------------------------------------------------------
  1230.  
  1231.                     elif (
  1232.                         klatka[liczba_klatka][5] != '.'
  1233.                         and klatka[liczba_klatka][8] != '.'
  1234.                         and klatka[liczba_klatka][7] != '.'
  1235.                         and (j in poziom[liczba_poziom - 1])
  1236.                         and (j in pion[liczba_pion - 1])
  1237.                     ):
  1238.                        
  1239.                         poziom[liczba_poziom].pop(i%9)
  1240.                         poziom[liczba_poziom].insert(i%9,j)
  1241.  
  1242.                     elif (
  1243.                         klatka[liczba_klatka][1] != '.'
  1244.                         and klatka[liczba_klatka][2] != '.'
  1245.                         and klatka[liczba_klatka][5] != '.'
  1246.                         and (j in poziom[liczba_poziom + 1])
  1247.                         and (j in pion[liczba_pion - 1])
  1248.                     ):
  1249.                        
  1250.                         poziom[liczba_poziom].pop(i%9)
  1251.                         poziom[liczba_poziom].insert(i%9,j)
  1252.  
  1253.                     elif (
  1254.                         klatka[liczba_klatka][0] != '.'
  1255.                         and klatka[liczba_klatka][1] != '.'
  1256.                         and klatka[liczba_klatka][3] != '.'
  1257.                         and (j in poziom[liczba_poziom + 1])
  1258.                         and (j in pion[liczba_pion + 1])
  1259.                     ):
  1260.                        
  1261.                         poziom[liczba_poziom].pop(i%9)
  1262.                         poziom[liczba_poziom].insert(i%9,j)
  1263.  
  1264.                     elif (
  1265.                         klatka[liczba_klatka][3] != '.'
  1266.                         and klatka[liczba_klatka][6] != '.'
  1267.                         and klatka[liczba_klatka][7] != '.'
  1268.                         and (j in poziom[liczba_poziom - 1])
  1269.                         and (j in pion[liczba_pion + 1])
  1270.                     ):
  1271.                        
  1272.                         poziom[liczba_poziom].pop(i%9)
  1273.                         poziom[liczba_poziom].insert(i%9,j)
  1274.  
  1275.                     # warunek z ostatnia cyfra--------------------------------------------------------------
  1276.                    
  1277.                     #klatka
  1278.                     elif (
  1279.                         j not in klatka[liczba_klatka]
  1280.                         and klatka[liczba_klatka][0] != '.'
  1281.                         and klatka[liczba_klatka][1] != '.'
  1282.                         and klatka[liczba_klatka][2] != '.'
  1283.                         and klatka[liczba_klatka][3] != '.'
  1284.                         and klatka[liczba_klatka][5] != '.'
  1285.                         and klatka[liczba_klatka][6] != '.'
  1286.                         and klatka[liczba_klatka][7] != '.'
  1287.                         and klatka[liczba_klatka][8] != '.'
  1288.                     ):
  1289.                        
  1290.                         poziom[liczba_poziom].pop(i%9)
  1291.                         poziom[liczba_poziom].insert(i%9,j)
  1292.  
  1293.                 #???????????????????????????????????????????????????????????????????????????????????????????
  1294.  
  1295.                 elif liczba_poziom % 3 == 2:
  1296.                    
  1297.                     # warunek z dwiema cyframi-----------------------------------------------------------------
  1298.  
  1299.                     if (
  1300.                         klatka[liczba_klatka][1] != "."
  1301.                         and klatka[liczba_klatka][4] != "."
  1302.                         and (j in pion[liczba_pion + 1])
  1303.                         and (j in pion[liczba_pion - 1])
  1304.                     ):
  1305.                         poziom[liczba_poziom].pop(i%9)
  1306.                         poziom[liczba_poziom].insert(i%9,j)
  1307.                        
  1308.  
  1309.                     elif (
  1310.                         klatka[liczba_klatka][8] != "."
  1311.                         and klatka[liczba_klatka][6] != "."
  1312.                         and (j in poziom[liczba_poziom - 1])
  1313.                         and (j in poziom[liczba_poziom - 2])
  1314.                     ):
  1315.  
  1316.                         poziom[liczba_poziom].pop(i%9)
  1317.                         poziom[liczba_poziom].insert(i%9,j)
  1318.                    
  1319.                     # warunek z jedna cyfra-----------------------------------------------------------------
  1320.  
  1321.                     elif (
  1322.                         (j in poziom[liczba_poziom - 1])
  1323.                         and (j in poziom[liczba_poziom - 2])
  1324.                         and (j in pion[liczba_pion - 1])
  1325.                         and klatka[liczba_klatka][8] != "."
  1326.                     ):
  1327.  
  1328.                         poziom[liczba_poziom].pop(i%9)
  1329.                         poziom[liczba_poziom].insert(i%9,j)
  1330.  
  1331.                     elif (
  1332.                         (j in poziom[liczba_poziom - 1])
  1333.                         and (j in poziom[liczba_poziom - 2])
  1334.                         and (j in pion[liczba_pion + 1])
  1335.                         and klatka[liczba_klatka][6] != "."
  1336.                     ):
  1337.  
  1338.                         poziom[liczba_poziom].pop(i%9)
  1339.                         poziom[liczba_poziom].insert(i%9,j)
  1340.  
  1341.                     elif (
  1342.                         (j in pion[liczba_pion + 1])
  1343.                         and (j in pion[liczba_pion - 1])
  1344.                         and (j in poziom[liczba_poziom - 1])
  1345.                         and klatka[liczba_klatka][1] != "."
  1346.                     ):
  1347.                         poziom[liczba_poziom].pop(i%9)
  1348.                         poziom[liczba_poziom].insert(i%9,j)
  1349.                     elif (
  1350.                         (j in pion[liczba_pion + 1])
  1351.                         and (j in pion[liczba_pion - 1])
  1352.                         and (j in poziom[liczba_poziom - 2])
  1353.                         and klatka[liczba_klatka][4] != '.'
  1354.                     ):
  1355.  
  1356.                         poziom[liczba_poziom].pop(i%9)
  1357.                         poziom[liczba_poziom].insert(i%9,j)
  1358.  
  1359.                     elif (
  1360.                         (j in poziom[liczba_poziom - 1])
  1361.                         and (j in poziom[liczba_poziom - 2])
  1362.                         and (j in pion[liczba_pion + 1])
  1363.                         and (j in pion[liczba_pion - 1])
  1364.                     ):
  1365.  
  1366.                         poziom[liczba_poziom].pop(i%9)
  1367.                         poziom[liczba_poziom].insert(i%9,j)
  1368.  
  1369.                     # warunek z pięcioma cyframi-----------------------------------------------------------------
  1370.                    
  1371.                     elif (
  1372.                         klatka[liczba_klatka][0] != '.'
  1373.                         and klatka[liczba_klatka][1] != '.'
  1374.                         and klatka[liczba_klatka][3] != '.'
  1375.                         and klatka[liczba_klatka][4] != '.'
  1376.                         and klatka[liczba_klatka][6] != '.'
  1377.                         and (j in pion[liczba_pion + 1])
  1378.                     ):
  1379.                         poziom[liczba_poziom].pop(i%9)
  1380.                         poziom[liczba_poziom].insert(i%9,j)
  1381.                    
  1382.                     elif (
  1383.                         klatka[liczba_klatka][1] != '.'
  1384.                         and klatka[liczba_klatka][2] != '.'
  1385.                         and klatka[liczba_klatka][4] != '.'
  1386.                         and klatka[liczba_klatka][5] != '.'
  1387.                         and klatka[liczba_klatka][8] != '.'
  1388.                         and (j in pion[liczba_pion - 1])
  1389.                     ):
  1390.                        
  1391.                         poziom[liczba_poziom].pop(i%9)
  1392.                         poziom[liczba_poziom].insert(i%9,j)
  1393.                    
  1394.                     elif (
  1395.                         klatka[liczba_klatka][3] != '.'
  1396.                         and klatka[liczba_klatka][4] != '.'
  1397.                         and klatka[liczba_klatka][5] != '.'
  1398.                         and klatka[liczba_klatka][6] != '.'
  1399.                         and klatka[liczba_klatka][8] != '.'
  1400.                         and (j in poziom[liczba_poziom - 2])
  1401.                     ):
  1402.                        
  1403.                         poziom[liczba_poziom].pop(i%9)
  1404.                         poziom[liczba_poziom].insert(i%9,j)
  1405.                    
  1406.                     elif (
  1407.                         klatka[liczba_klatka][0] != '.'
  1408.                         and klatka[liczba_klatka][1] != '.'
  1409.                         and klatka[liczba_klatka][2] != '.'
  1410.                         and klatka[liczba_klatka][6] != '.'
  1411.                         and klatka[liczba_klatka][8] != '.'
  1412.                         and (j in poziom[liczba_poziom - 1])
  1413.                     ):
  1414.                        
  1415.                         poziom[liczba_poziom].pop(i%9)
  1416.                         poziom[liczba_poziom].insert(i%9,j)
  1417.  
  1418.                     # warunek z trzema cyframi -------------------------------------------------------------
  1419.  
  1420.                     elif (
  1421.                         klatka[liczba_klatka][1] != '.'
  1422.                         and klatka[liczba_klatka][2] != '.'
  1423.                         and klatka[liczba_klatka][8] != '.'
  1424.                         and (j in poziom[liczba_poziom - 1])
  1425.                         and (j in pion[liczba_pion - 1])
  1426.                     ):
  1427.                        
  1428.                         poziom[liczba_poziom].pop(i%9)
  1429.                         poziom[liczba_poziom].insert(i%9,j)
  1430.  
  1431.                     elif (
  1432.                         klatka[liczba_klatka][4] != '.'
  1433.                         and klatka[liczba_klatka][5] != '.'
  1434.                         and klatka[liczba_klatka][8] != '.'
  1435.                         and (j in poziom[liczba_poziom - 2])
  1436.                         and (j in pion[liczba_pion - 1])
  1437.                     ):
  1438.                        
  1439.                         poziom[liczba_poziom].pop(i%9)
  1440.                         poziom[liczba_poziom].insert(i%9,j)
  1441.  
  1442.                     elif (
  1443.                         klatka[liczba_klatka][0] != '.'
  1444.                         and klatka[liczba_klatka][1] != '.'
  1445.                         and klatka[liczba_klatka][6] != '.'
  1446.                         and (j in poziom[liczba_poziom - 1])
  1447.                         and (j in pion[liczba_pion + 1])
  1448.                     ):
  1449.                        
  1450.                         poziom[liczba_poziom].pop(i%9)
  1451.                         poziom[liczba_poziom].insert(i%9,j)
  1452.  
  1453.                     elif (
  1454.                         klatka[liczba_klatka][3] != '.'
  1455.                         and klatka[liczba_klatka][4] != '.'
  1456.                         and klatka[liczba_klatka][6] != '.'
  1457.                         and (j in poziom[liczba_poziom - 2])
  1458.                         and (j in pion[liczba_pion + 1])
  1459.                     ):
  1460.                        
  1461.                         poziom[liczba_poziom].pop(i%9)
  1462.                         poziom[liczba_poziom].insert(i%9,j)
  1463.  
  1464.                     # warunek z ostatnia cyfra--------------------------------------------------------------
  1465.                    
  1466.                     #klatka
  1467.                     elif (
  1468.                         j not in klatka[liczba_klatka]
  1469.                         and klatka[liczba_klatka][0] != '.'
  1470.                         and klatka[liczba_klatka][1] != '.'
  1471.                         and klatka[liczba_klatka][2] != '.'
  1472.                         and klatka[liczba_klatka][3] != '.'
  1473.                         and klatka[liczba_klatka][4] != '.'
  1474.                         and klatka[liczba_klatka][6] != '.'
  1475.                         and klatka[liczba_klatka][7] != '.'
  1476.                         and klatka[liczba_klatka][8] != '.'
  1477.                     ):
  1478.                        
  1479.                         poziom[liczba_poziom].pop(i%9)
  1480.                         poziom[liczba_poziom].insert(i%9,j)
  1481.  
  1482.                 #???????????????????????????????????????????????????????????????????????????????????????????
  1483.  
  1484.             # ---------------------------------------------------------------------------------------------------
  1485.  
  1486.             elif liczba_pion % 3 == 2:
  1487.  
  1488.                 if liczba_poziom % 3 == 0:
  1489.                    
  1490.                     # warunek z dwiema cyframi-----------------------------------------------------------------
  1491.  
  1492.                     if (
  1493.                         klatka[liczba_klatka][5] != "."
  1494.                         and klatka[liczba_klatka][8] != "."
  1495.                         and (j in pion[liczba_pion - 1])
  1496.                         and (j in pion[liczba_pion - 2])
  1497.                     ):
  1498.                         poziom[liczba_poziom].pop(i%9)
  1499.                         poziom[liczba_poziom].insert(i%9,j)
  1500.  
  1501.                     elif (
  1502.                         klatka[liczba_klatka][0] != "."
  1503.                         and klatka[liczba_klatka][1] != "."
  1504.                         and (j in poziom[liczba_poziom + 1])
  1505.                         and (j in poziom[liczba_poziom + 2])
  1506.                     ):
  1507.                         poziom[liczba_poziom].pop(i%9)
  1508.                         poziom[liczba_poziom].insert(i%9,j)
  1509.  
  1510.                     # warunek z jedna cyfra-----------------------------------------------------------------
  1511.  
  1512.  
  1513.                     elif (
  1514.                         (j in poziom[liczba_poziom + 1])
  1515.                         and (j in poziom[liczba_poziom + 2])
  1516.                         and (j in pion[liczba_pion - 1])
  1517.                         and klatka[liczba_klatka][0] != "."
  1518.                     ):
  1519.                         poziom[liczba_poziom].pop(i%9)
  1520.                         poziom[liczba_poziom].insert(i%9,j)
  1521.  
  1522.                     elif (
  1523.                         (j in poziom[liczba_poziom + 1])
  1524.                         and (j in poziom[liczba_poziom + 2])
  1525.                         and (j in pion[liczba_pion - 2])
  1526.                         and klatka[liczba_klatka][1] != "."
  1527.                     ):
  1528.                         poziom[liczba_poziom].pop(i%9)
  1529.                         poziom[liczba_poziom].insert(i%9,j)
  1530.  
  1531.                     elif (
  1532.                         (j in pion[liczba_pion - 1])
  1533.                         and (j in pion[liczba_pion - 2])
  1534.                         and (j in poziom[liczba_poziom + 1])
  1535.                         and klatka[liczba_klatka][8] != "."
  1536.                     ):
  1537.                         poziom[liczba_poziom].pop(i%9)
  1538.                         poziom[liczba_poziom].insert(i%9,j)
  1539.  
  1540.                     elif (
  1541.                         (j in pion[liczba_pion - 1])
  1542.                         and (j in pion[liczba_pion - 2])
  1543.                         and (j in poziom[liczba_poziom + 2])
  1544.                         and klatka[liczba_klatka][5] != "."
  1545.                     ):
  1546.                         poziom[liczba_poziom].pop(i%9)
  1547.                         poziom[liczba_poziom].insert(i%9,j)
  1548.  
  1549.                     elif (
  1550.                         (j in poziom[liczba_poziom + 1])
  1551.                         and (j in poziom[liczba_poziom + 2])
  1552.                         and (j in pion[liczba_pion - 1])
  1553.                         and (j in pion[liczba_pion - 2])
  1554.                     ):
  1555.                         poziom[liczba_poziom].pop(i%9)
  1556.                         poziom[liczba_poziom].insert(i%9,j)
  1557.  
  1558.                     # warunek z pięcioma cyframi-----------------------------------------------------------------
  1559.                    
  1560.                     elif (
  1561.                         klatka[liczba_klatka][0] != '.'
  1562.                         and klatka[liczba_klatka][3] != '.'
  1563.                         and klatka[liczba_klatka][6] != '.'
  1564.                         and klatka[liczba_klatka][5] != '.'
  1565.                         and klatka[liczba_klatka][8] != '.'
  1566.                         and (j in pion[liczba_pion - 1])
  1567.                     ):
  1568.                        
  1569.                         poziom[liczba_poziom].pop(i%9)
  1570.                         poziom[liczba_poziom].insert(i%9,j)
  1571.                    
  1572.                     elif (
  1573.                         klatka[liczba_klatka][1] != '.'
  1574.                         and klatka[liczba_klatka][4] != '.'
  1575.                         and klatka[liczba_klatka][5] != '.'
  1576.                         and klatka[liczba_klatka][7] != '.'
  1577.                         and klatka[liczba_klatka][8] != '.'
  1578.                         and (j in pion[liczba_pion - 2])
  1579.                     ):
  1580.                        
  1581.                         poziom[liczba_poziom].pop(i%9)
  1582.                         poziom[liczba_poziom].insert(i%9,j)
  1583.                    
  1584.                     elif (
  1585.                         klatka[liczba_klatka][0] != '.'
  1586.                         and klatka[liczba_klatka][1] != '.'
  1587.                         and klatka[liczba_klatka][7] != '.'
  1588.                         and klatka[liczba_klatka][6] != '.'
  1589.                         and klatka[liczba_klatka][8] != '.'
  1590.                         and (j in poziom[liczba_poziom + 1])
  1591.                     ):
  1592.                        
  1593.                         poziom[liczba_poziom].pop(i%9)
  1594.                         poziom[liczba_poziom].insert(i%9,j)
  1595.                    
  1596.                     elif (
  1597.                         klatka[liczba_klatka][0] != '.'
  1598.                         and klatka[liczba_klatka][1] != '.'
  1599.                         and klatka[liczba_klatka][3] != '.'
  1600.                         and klatka[liczba_klatka][4] != '.'
  1601.                         and klatka[liczba_klatka][5] != '.'
  1602.                         and (j in poziom[liczba_poziom + 2])
  1603.                     ):
  1604.                        
  1605.                         poziom[liczba_poziom].pop(i%9)
  1606.                         poziom[liczba_poziom].insert(i%9,j)
  1607.  
  1608.                     # warunek z trzema cyframi -------------------------------------------------------------
  1609.  
  1610.                     elif (
  1611.                         klatka[liczba_klatka][1] != '.'
  1612.                         and klatka[liczba_klatka][7] != '.'
  1613.                         and klatka[liczba_klatka][8] != '.'
  1614.                         and (j in poziom[liczba_poziom + 1])
  1615.                         and (j in pion[liczba_pion - 2])
  1616.                     ):
  1617.                        
  1618.                         poziom[liczba_poziom].pop(i%9)
  1619.                         poziom[liczba_poziom].insert(i%9,j)
  1620.  
  1621.                     elif (
  1622.                         klatka[liczba_klatka][1] != '.'
  1623.                         and klatka[liczba_klatka][4] != '.'
  1624.                         and klatka[liczba_klatka][5] != '.'
  1625.                         and (j in poziom[liczba_poziom + 2])
  1626.                         and (j in pion[liczba_pion - 2])
  1627.                     ):
  1628.                        
  1629.                         poziom[liczba_poziom].pop(i%9)
  1630.                         poziom[liczba_poziom].insert(i%9,j)
  1631.  
  1632.                     elif (
  1633.                         klatka[liczba_klatka][0] != '.'
  1634.                         and klatka[liczba_klatka][3] != '.'
  1635.                         and klatka[liczba_klatka][5] != '.'
  1636.                         and (j in poziom[liczba_poziom + 2])
  1637.                         and (j in pion[liczba_pion - 1])
  1638.                     ):
  1639.                        
  1640.                         poziom[liczba_poziom].pop(i%9)
  1641.                         poziom[liczba_poziom].insert(i%9,j)
  1642.  
  1643.                     elif (
  1644.                         klatka[liczba_klatka][0] != '.'
  1645.                         and klatka[liczba_klatka][6] != '.'
  1646.                         and klatka[liczba_klatka][8] != '.'
  1647.                         and (j in poziom[liczba_poziom + 1])
  1648.                         and (j in pion[liczba_pion - 1])
  1649.                     ):
  1650.                        
  1651.                         poziom[liczba_poziom].pop(i%9)
  1652.                         poziom[liczba_poziom].insert(i%9,j)
  1653.  
  1654.                     # warunek z ostatnia cyfra--------------------------------------------------------------
  1655.                    
  1656.                     #klatka
  1657.                     elif (
  1658.                         j not in klatka[liczba_klatka]
  1659.                         and klatka[liczba_klatka][0] != '.'
  1660.                         and klatka[liczba_klatka][1] != '.'
  1661.                         and klatka[liczba_klatka][2] != '.'
  1662.                         and klatka[liczba_klatka][3] != '.'
  1663.                         and klatka[liczba_klatka][4] != '.'
  1664.                         and klatka[liczba_klatka][5] != '.'
  1665.                         and klatka[liczba_klatka][7] != '.'
  1666.                         and klatka[liczba_klatka][8] != '.'
  1667.                     ):
  1668.                        
  1669.                         poziom[liczba_poziom].pop(i%9)
  1670.                         poziom[liczba_poziom].insert(i%9,j)
  1671.                    
  1672.                 #???????????????????????????????????????????????????????????????????????????????????????????
  1673.  
  1674.                 elif liczba_poziom % 3 == 1:
  1675.  
  1676.                     # warunek z dwiema cyframi-----------------------------------------------------------------
  1677.  
  1678.                     if (
  1679.                         klatka[liczba_klatka][2] != "."
  1680.                         and klatka[liczba_klatka][8] != "."
  1681.                         and (j in pion[liczba_pion - 1])
  1682.                         and (j in pion[liczba_pion - 2])
  1683.                     ):
  1684.                         print('1',i)
  1685.                         poziom[liczba_poziom].pop(i%9)
  1686.                         poziom[liczba_poziom].insert(i%9,j)
  1687.  
  1688.                     elif (
  1689.                         klatka[liczba_klatka][4] != "."
  1690.                         and klatka[liczba_klatka][3] != "."
  1691.                         and (j in poziom[liczba_poziom - 1])
  1692.                         and (j in poziom[liczba_poziom + 1])
  1693.                     ):
  1694.                         print('2',i)
  1695.  
  1696.                         poziom[liczba_poziom].pop(i%9)
  1697.                         poziom[liczba_poziom].insert(i%9,j)
  1698.                    
  1699.                     # warunek z jedna cyfra-----------------------------------------------------------------
  1700.  
  1701.                     elif (
  1702.                         (j in poziom[liczba_poziom + 1])
  1703.                         and (j in poziom[liczba_poziom - 1])
  1704.                         and (j in pion[liczba_pion - 1])
  1705.                         and klatka[liczba_klatka][3] != "."
  1706.                     ):
  1707.                         print('3',i)
  1708.  
  1709.                         poziom[liczba_poziom].pop(i%9)
  1710.                         poziom[liczba_poziom].insert(i%9,j)
  1711.  
  1712.                     elif (
  1713.                         (j in poziom[liczba_poziom - 1])
  1714.                         and (j in poziom[liczba_poziom + 1])
  1715.                         and (j in pion[liczba_pion - 2])
  1716.                         and klatka[liczba_klatka][4] != "."
  1717.                     ):
  1718.                         print('4',i)
  1719.  
  1720.                         poziom[liczba_poziom].pop(i%9)
  1721.                         poziom[liczba_poziom].insert(i%9,j)
  1722.  
  1723.                     elif (
  1724.                         (j in pion[liczba_pion - 1])
  1725.                         and (j in pion[liczba_pion - 2])
  1726.                         and (j in poziom[liczba_poziom + 1])
  1727.                         and klatka[liczba_klatka][2] != "."
  1728.                     ):
  1729.                         print('5',i)
  1730.  
  1731.                         poziom[liczba_poziom].pop(i%9)
  1732.                         poziom[liczba_poziom].insert(i%9,j)
  1733.                     elif (
  1734.                         (j in pion[liczba_pion - 1])
  1735.                         and (j in pion[liczba_pion - 2])
  1736.                         and (j in poziom[liczba_poziom - 1])
  1737.                         and klatka[liczba_klatka][8] != '.'
  1738.                     ):
  1739.                         print('6',i)
  1740.  
  1741.                         poziom[liczba_poziom].pop(i%9)
  1742.                         poziom[liczba_poziom].insert(i%9,j)
  1743.  
  1744.                     elif (
  1745.                         (j in poziom[liczba_poziom + 1])
  1746.                         and (j in poziom[liczba_poziom - 1])
  1747.                         and (j in pion[liczba_pion - 1])
  1748.                         and (j in pion[liczba_pion - 2])
  1749.                     ):
  1750.                         print('7',i)
  1751.  
  1752.                         poziom[liczba_poziom].pop(i%9)
  1753.                         poziom[liczba_poziom].insert(i%9,j)
  1754.  
  1755.                     # warunek z pięcioma cyframi-----------------------------------------------------------------
  1756.                    
  1757.                     elif (
  1758.                         klatka[liczba_klatka][2] != '.'
  1759.                         and klatka[liczba_klatka][8] != '.'
  1760.                         and klatka[liczba_klatka][0] != '.'
  1761.                         and klatka[liczba_klatka][3] != '.'
  1762.                         and klatka[liczba_klatka][6] != '.'
  1763.                         and (j in pion[liczba_pion - 1])
  1764.                     ):
  1765.                         print('8',i)
  1766.                        
  1767.                         poziom[liczba_poziom].pop(i%9)
  1768.                         poziom[liczba_poziom].insert(i%9,j)
  1769.                    
  1770.                     elif (
  1771.                         klatka[liczba_klatka][1] != '.'
  1772.                         and klatka[liczba_klatka][2] != '.'
  1773.                         and klatka[liczba_klatka][4] != '.'
  1774.                         and klatka[liczba_klatka][7] != '.'
  1775.                         and klatka[liczba_klatka][8] != '.'
  1776.                         and (j in pion[liczba_pion - 2])
  1777.                     ):
  1778.                         print('9',i)
  1779.                        
  1780.                         poziom[liczba_poziom].pop(i%9)
  1781.                         poziom[liczba_poziom].insert(i%9,j)
  1782.                    
  1783.                     elif (
  1784.                         klatka[liczba_klatka][0] != '.'
  1785.                         and klatka[liczba_klatka][1] != '.'
  1786.                         and klatka[liczba_klatka][2] != '.'
  1787.                         and klatka[liczba_klatka][3] != '.'
  1788.                         and klatka[liczba_klatka][4] != '.'
  1789.                         and (j in poziom[liczba_poziom + 1])
  1790.                     ):
  1791.                         print('10',i)
  1792.                        
  1793.                         poziom[liczba_poziom].pop(i%9)
  1794.                         poziom[liczba_poziom].insert(i%9,j)
  1795.                    
  1796.                     elif (
  1797.                         klatka[liczba_klatka][3] != '.'
  1798.                         and klatka[liczba_klatka][4] != '.'
  1799.                         and klatka[liczba_klatka][6] != '.'
  1800.                         and klatka[liczba_klatka][7] != '.'
  1801.                         and klatka[liczba_klatka][8] != '.'
  1802.                         and (j in poziom[liczba_poziom - 1])
  1803.                     ):
  1804.                         print('11',i)
  1805.                        
  1806.                         poziom[liczba_poziom].pop(i%9)
  1807.                         poziom[liczba_poziom].insert(i%9,j)
  1808.  
  1809.                     # warunek z trzema cyframi -------------------------------------------------------------
  1810.  
  1811.                     elif (
  1812.                         klatka[liczba_klatka][4] != '.'
  1813.                         and klatka[liczba_klatka][7] != '.'
  1814.                         and klatka[liczba_klatka][8] != '.'
  1815.                         and (j in poziom[liczba_poziom - 1])
  1816.                         and (j in pion[liczba_pion - 2])
  1817.                     ):
  1818.                         print('12',i)
  1819.                        
  1820.                         poziom[liczba_poziom].pop(i%9)
  1821.                         poziom[liczba_poziom].insert(i%9,j)
  1822.  
  1823.                     elif (
  1824.                         klatka[liczba_klatka][1] != '.'
  1825.                         and klatka[liczba_klatka][2] != '.'
  1826.                         and klatka[liczba_klatka][4] != '.'
  1827.                         and (j in poziom[liczba_poziom + 1])
  1828.                         and (j in pion[liczba_pion - 2])
  1829.                     ):
  1830.                         print('13',i)
  1831.                        
  1832.                         poziom[liczba_poziom].pop(i%9)
  1833.                         poziom[liczba_poziom].insert(i%9,j)
  1834.  
  1835.                     elif (
  1836.                         klatka[liczba_klatka][3] != '.'
  1837.                         and klatka[liczba_klatka][6] != '.'
  1838.                         and klatka[liczba_klatka][8] != '.'
  1839.                         and (j in poziom[liczba_poziom - 1])
  1840.                         and (j in pion[liczba_pion - 1])
  1841.                     ):
  1842.                         print('14',i)
  1843.                        
  1844.                         poziom[liczba_poziom].pop(i%9)
  1845.                         poziom[liczba_poziom].insert(i%9,j)
  1846.  
  1847.                     elif (
  1848.                         klatka[liczba_klatka][0] != '.'
  1849.                         and klatka[liczba_klatka][3] != '.'
  1850.                         and klatka[liczba_klatka][2] != '.'
  1851.                         and (j in poziom[liczba_poziom + 1])
  1852.                         and (j in pion[liczba_pion - 1])
  1853.                     ):
  1854.                         print('15',i)
  1855.                        
  1856.                         poziom[liczba_poziom].pop(i%9)
  1857.                         poziom[liczba_poziom].insert(i%9,j)
  1858.  
  1859.                     # warunek z ostatnia cyfra--------------------------------------------------------------
  1860.                    
  1861.                    
  1862.                 #???????????????????????????????????????????????????????????????????????????????????????????
  1863.  
  1864.                 elif liczba_poziom % 3 == 2:
  1865.                     # warunek z dwiema cyframi-----------------------------------------------------------------
  1866.  
  1867.                     if (
  1868.                         klatka[liczba_klatka][2] != "."
  1869.                         and klatka[liczba_klatka][5] != "."
  1870.                         and (j in pion[liczba_pion - 1])
  1871.                         and (j in pion[liczba_pion - 2])
  1872.                     ):
  1873.                         poziom[liczba_poziom].pop(i%9)
  1874.                         poziom[liczba_poziom].insert(i%9,j)
  1875.  
  1876.                     elif (
  1877.                         klatka[liczba_klatka][6] != "."
  1878.                         and klatka[liczba_klatka][7] != "."
  1879.                         and (j in poziom[liczba_poziom - 1])
  1880.                         and (j in poziom[liczba_poziom - 2])
  1881.                     ):
  1882.                         poziom[liczba_poziom].pop(i%9)
  1883.                         poziom[liczba_poziom].insert(i%9,j)
  1884.  
  1885.                     # warunek z jedna cyfra-----------------------------------------------------------------
  1886.  
  1887.                     elif (
  1888.                         (j in poziom[liczba_poziom - 1])
  1889.                         and (j in poziom[liczba_poziom - 2])
  1890.                         and (j in pion[liczba_pion - 1])
  1891.                         and klatka[liczba_klatka][6] != "."
  1892.                     ):
  1893.                         poziom[liczba_poziom].pop(i%9)
  1894.                         poziom[liczba_poziom].insert(i%9,j)
  1895.  
  1896.                     elif (
  1897.                         (j in poziom[liczba_poziom - 1])
  1898.                         and (j in poziom[liczba_poziom - 2])
  1899.                         and (j in pion[liczba_pion - 2])
  1900.                         and klatka[liczba_klatka][7] != "."
  1901.                     ):
  1902.                         poziom[liczba_poziom].pop(i%9)
  1903.                         poziom[liczba_poziom].insert(i%9,j)
  1904.  
  1905.                     elif (
  1906.                         (j in pion[liczba_pion - 1])
  1907.                         and (j in pion[liczba_pion - 2])
  1908.                         and (j in poziom[liczba_poziom - 1])
  1909.                         and klatka[liczba_klatka][2] != "."
  1910.                     ):
  1911.                         poziom[liczba_poziom].pop(i%9)
  1912.                         poziom[liczba_poziom].insert(i%9,j)
  1913.  
  1914.                     elif (
  1915.                         (j in pion[liczba_pion - 1])
  1916.                         and (j in pion[liczba_pion - 2])
  1917.                         and (j in poziom[liczba_poziom - 2])
  1918.                         and klatka[liczba_klatka][5] != '.'
  1919.                     ):
  1920.                         poziom[liczba_poziom].pop(i%9)
  1921.                         poziom[liczba_poziom].insert(i%9,j)
  1922.  
  1923.                     elif (
  1924.                         (j in poziom[liczba_poziom - 2])
  1925.                         and (j in poziom[liczba_poziom - 1])
  1926.                         and (j in pion[liczba_pion - 1])
  1927.                         and (j in pion[liczba_pion - 2])
  1928.                     ):
  1929.                         poziom[liczba_poziom].pop(i%9)
  1930.                         poziom[liczba_poziom].insert(i%9,j)
  1931.  
  1932.                     # warunek z pięcioma cyframi-----------------------------------------------------------------
  1933.                    
  1934.                     elif (
  1935.                         klatka[liczba_klatka][2] != '.'
  1936.                         and klatka[liczba_klatka][5] != '.'
  1937.                         and klatka[liczba_klatka][0] != '.'
  1938.                         and klatka[liczba_klatka][3] != '.'
  1939.                         and klatka[liczba_klatka][6] != '.'
  1940.                         and (j in pion[liczba_pion - 1])
  1941.                     ):
  1942.                        
  1943.                         poziom[liczba_poziom].pop(i%9)
  1944.                         poziom[liczba_poziom].insert(i%9,j)
  1945.                    
  1946.                     elif (
  1947.                         klatka[liczba_klatka][2] != '.'
  1948.                         and klatka[liczba_klatka][5] != '.'
  1949.                         and klatka[liczba_klatka][1] != '.'
  1950.                         and klatka[liczba_klatka][4] != '.'
  1951.                         and klatka[liczba_klatka][7] != '.'
  1952.                         and (j in pion[liczba_pion - 2])
  1953.                     ):
  1954.                        
  1955.                         poziom[liczba_poziom].pop(i%9)
  1956.                         poziom[liczba_poziom].insert(i%9,j)
  1957.                    
  1958.                     elif (
  1959.                         klatka[liczba_klatka][0] != '.'
  1960.                         and klatka[liczba_klatka][1] != '.'
  1961.                         and klatka[liczba_klatka][2] != '.'
  1962.                         and klatka[liczba_klatka][6] != '.'
  1963.                         and klatka[liczba_klatka][7] != '.'
  1964.                         and (j in poziom[liczba_poziom - 1])
  1965.                     ):
  1966.                        
  1967.                         poziom[liczba_poziom].pop(i%9)
  1968.                         poziom[liczba_poziom].insert(i%9,j)
  1969.                    
  1970.                     elif (
  1971.                         klatka[liczba_klatka][3] != '.'
  1972.                         and klatka[liczba_klatka][4] != '.'
  1973.                         and klatka[liczba_klatka][5] != '.'
  1974.                         and klatka[liczba_klatka][6] != '.'
  1975.                         and klatka[liczba_klatka][7] != '.'
  1976.                         and (j in poziom[liczba_poziom - 2])
  1977.                     ):
  1978.                        
  1979.                         poziom[liczba_poziom].pop(i%9)
  1980.                         poziom[liczba_poziom].insert(i%9,j)
  1981.  
  1982.                     # warunek z trzema cyframi -------------------------------------------------------------
  1983.  
  1984.                     elif (
  1985.                         klatka[liczba_klatka][4] != '.'
  1986.                         and klatka[liczba_klatka][5] != '.'
  1987.                         and klatka[liczba_klatka][7] != '.'
  1988.                         and (j in poziom[liczba_poziom - 2])
  1989.                         and (j in pion[liczba_pion - 2])
  1990.                     ):
  1991.                        
  1992.                         poziom[liczba_poziom].pop(i%9)
  1993.                         poziom[liczba_poziom].insert(i%9,j)
  1994.  
  1995.                     elif (
  1996.                         klatka[liczba_klatka][1] != '.'
  1997.                         and klatka[liczba_klatka][2] != '.'
  1998.                         and klatka[liczba_klatka][7] != '.'
  1999.                         and (j in poziom[liczba_poziom - 1])
  2000.                         and (j in pion[liczba_pion - 2])
  2001.                     ):
  2002.                        
  2003.                         poziom[liczba_poziom].pop(i%9)
  2004.                         poziom[liczba_poziom].insert(i%9,j)
  2005.  
  2006.                     elif (
  2007.                         klatka[liczba_klatka][5] != '.'
  2008.                         and klatka[liczba_klatka][3] != '.'
  2009.                         and klatka[liczba_klatka][6] != '.'
  2010.                         and (j in poziom[liczba_poziom - 2])
  2011.                         and (j in pion[liczba_pion - 1])
  2012.                     ):
  2013.                        
  2014.                         poziom[liczba_poziom].pop(i%9)
  2015.                         poziom[liczba_poziom].insert(i%9,j)
  2016.  
  2017.                     elif (
  2018.                         klatka[liczba_klatka][0] != '.'
  2019.                         and klatka[liczba_klatka][2] != '.'
  2020.                         and klatka[liczba_klatka][6] != '.'
  2021.                         and (j in poziom[liczba_poziom - 1])
  2022.                         and (j in pion[liczba_pion - 1])
  2023.                     ):
  2024.                        
  2025.                         poziom[liczba_poziom].pop(i%9)
  2026.                         poziom[liczba_poziom].insert(i%9,j)
  2027.                    
  2028.                     # warunek z ostatnia cyfra--------------------------------------------------------------
  2029.                     #klatka
  2030.                     elif (
  2031.                         j not in klatka[liczba_klatka]
  2032.                         and klatka[liczba_klatka][0] != '.'
  2033.                         and klatka[liczba_klatka][1] != '.'
  2034.                         and klatka[liczba_klatka][2] != '.'
  2035.                         and klatka[liczba_klatka][3] != '.'
  2036.                         and klatka[liczba_klatka][4] != '.'
  2037.                         and klatka[liczba_klatka][5] != '.'
  2038.                         and klatka[liczba_klatka][6] != '.'
  2039.                         and klatka[liczba_klatka][7] != '.'
  2040.                     ):
  2041.                        
  2042.                         poziom[liczba_poziom].pop(i%9)
  2043.                         poziom[liczba_poziom].insert(i%9,j)
  2044.  
  2045.                 #???????????????????????????????????????????????????????????????????????????????????????????
  2046.  
  2047.  
  2048. for z in poziom:
  2049.     print(z)