Advertisement
Guest User

Deterministic Turning Machine

a guest
Jan 27th, 2018
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 22.80 KB | None | 0 0
  1. encodedstring = list("R375SSYPGHBX6R9CP8Z24FSYL5FWYFVVPNI5UBVHO09HK023EVA374IIGOWWSM2WHFNCTBT6RFRW0DXCPVN168Z3LN15CPGQVFSV9PC77M38C3WF71RA2BCFGUA5HFYTKLQU8TH2COIG4W5YYQF0BLAJEQPC84H0W4DXDCDWFRT83XTM5S944WZZ9Q2JS8NIELS0DK667JMPJPLZLOTTNCRCS2RRMELNAQ6BYZ4OPO2EOPVQAS4TJLZ9AN38HNDOO7X93Y67YD4BVETBZHMDMFD42JKO014FAYXPP8PMEHKSIGDLOXER82O1CC0DWP21DUMBRI13W38EFX6CZG5BH5LKYV1MZO5FVVEJD9WO4AYWZWAEZ7N26WYDJITA4NQ")
  2. # encoded string in a list
  3. state = 'q0' # starting value for the turing machine
  4. file = open("decoded.txt",'w') # creates a new txt document where the decrypted string will be saved
  5.  
  6. for character in encodedstring: # for each character in the list, Check what state we are in, Check what character is given.
  7.     if state == 'q0': # checks if state is 'q0'
  8.         if character == "Z": # if current character is Z
  9.             state = "q1" # set state to 'q1'
  10.             file.write("0") # write "0" in the decoded.txt file
  11.             continue
  12.         if character == "8":
  13.             state = "q2"
  14.             file.write("1")
  15.             continue
  16.         if character == "5":
  17.             state = "q1"
  18.             file.write("2")
  19.             continue
  20.         if character == "X":
  21.             state = "q2"
  22.             file.write("3")
  23.             continue
  24.         if character == "1":
  25.             state = "q1"
  26.             file.write("4")
  27.             continue
  28.         if character == "0":
  29.             state = "q2"
  30.             file.write("5")
  31.             continue
  32.         if character == "V":
  33.             state = "q1"
  34.             file.write("6")
  35.             continue
  36.         if character == "L":
  37.             state = "q2"
  38.             file.write("7")
  39.             continue
  40.         if character == "U":
  41.             state = "q1"
  42.             file.write("8")
  43.             continue
  44.         if character == "B":
  45.             state = "q2"
  46.             file.write("9")
  47.             continue
  48.         if character == "7":
  49.             state = "q1"
  50.             file.write("A")
  51.             continue
  52.         if character == "F":
  53.             state = "q2"
  54.             file.write("B")
  55.             continue
  56.         if character == "E":
  57.             state = "q1"
  58.             file.write("C")
  59.             continue
  60.         if character == "O":
  61.             state = "q2"
  62.             file.write("D")
  63.             continue
  64.         if character == "9":
  65.             state = "q1"
  66.             file.write("E")
  67.             continue
  68.         if character == "2":
  69.             state = "q2"
  70.             file.write("F")
  71.             continue
  72.         if character == "A":
  73.             state = "q1"
  74.             file.write("G")
  75.             continue
  76.         if character == "W":
  77.             state = "q2"
  78.             file.write("H")
  79.             continue
  80.         if character == "R":
  81.             state = "q1"
  82.             file.write("I")
  83.             continue
  84.         if character == "N":
  85.             state = "q2"
  86.             file.write("J")
  87.             continue
  88.         if character == "3":
  89.             state = "q1"
  90.             file.write("K")
  91.             continue
  92.         if character == "D":
  93.             state = "q2"
  94.             file.write("L")
  95.             continue
  96.         if character == "K":
  97.             state = "q1"
  98.             file.write("M")
  99.             continue
  100.         if character == "H":
  101.             state = "q2"
  102.             file.write("N")
  103.             continue
  104.         if character == "6":
  105.             state = "q1"
  106.             file.write("O")
  107.             continue
  108.         if character == "Q":
  109.             state = "q2"
  110.             file.write("P")
  111.             continue
  112.         if character == "I":
  113.             state = "q1"
  114.             file.write("Q")
  115.             continue
  116.         if character == "P":
  117.             state = "q2"
  118.             file.write("R")
  119.             continue
  120.         if character == "J":
  121.             state = "q1"
  122.             file.write("S")
  123.             continue
  124.         if character == "G":
  125.             state = "q2"
  126.             file.write("T")
  127.             continue
  128.         if character == "T":
  129.             state = "q1"
  130.             file.write("U")
  131.             continue
  132.         if character == "Y":
  133.             state = "q2"
  134.             file.write("V")
  135.             continue
  136.         if character == "4":
  137.             state = "q1"
  138.             file.write("W")
  139.             continue
  140.         if character == "S":
  141.             state = "q2"
  142.             file.write("X")
  143.             continue
  144.         if character == "C":
  145.             state = "q1"
  146.             file.write("Y")
  147.             continue
  148.         if character == "M":
  149.             state = "q2"
  150.             file.write("Z")
  151.             continue
  152.         if character == "/":
  153.             state = "q0"
  154.             file.write("/")
  155.             continue           
  156.     if state == 'q1': # checks if state is 'q1'
  157.         if character == "1":
  158.             state = "q0"
  159.             file.write("0")
  160.             continue
  161.         if character == "S":
  162.             state = "q0"
  163.             file.write("1")
  164.             continue
  165.         if character == "L":
  166.             state = "q1"
  167.             file.write("2")
  168.             continue
  169.         if character == "I":
  170.             state = "q1"
  171.             file.write("3")
  172.             continue
  173.         if character == "U":
  174.             state = "q1"
  175.             file.write("4")
  176.             continue
  177.         if character == "O":
  178.             state = "q1"
  179.             file.write("5")
  180.             continue
  181.         if character == "3":
  182.             state = "q7"
  183.             file.write("6")
  184.             continue
  185.         if character == "N":
  186.             state = "q7"
  187.             file.write("7")
  188.             continue
  189.         if character == "2":
  190.             state = "q7"
  191.             file.write("8")
  192.             continue
  193.         if character == "Z":
  194.             state = "q7"
  195.             file.write("9")
  196.             continue
  197.         if character == "C":
  198.             state = "q7"
  199.             file.write("A")
  200.             continue
  201.         if character == "4":
  202.             state = "q1"
  203.             file.write("B")
  204.             continue
  205.         if character == "T":
  206.             state = "q1"
  207.             file.write("C")
  208.             continue
  209.         if character == "B":
  210.             state = "q1"
  211.             file.write("D")
  212.             continue
  213.         if character == "5":
  214.             state = "q1"
  215.             file.write("E")
  216.             continue
  217.         if character == "Y":
  218.             state = "q1"
  219.             file.write("F")
  220.             continue
  221.         if character == "K":
  222.             state = "q1"
  223.             file.write("G")
  224.             continue
  225.         if character == "V":
  226.             state = "q1"
  227.             file.write("H")
  228.             continue
  229.         if character == "W":
  230.             state = "q7"
  231.             file.write("I")
  232.             continue
  233.         if character == "0":
  234.             state = "q0"
  235.             file.write("J")
  236.             continue
  237.         if character == "7":
  238.             state = "q0"
  239.             file.write("K")
  240.             continue
  241.         if character == "J":
  242.             state = "q7"
  243.             file.write("L")
  244.             continue
  245.         if character == "E":
  246.             state = "q0"
  247.             file.write("M")
  248.             continue
  249.         if character == "M":
  250.             state = "q0"
  251.             file.write("N")
  252.             continue
  253.         if character == "6":
  254.             state = "q7"
  255.             file.write("O")
  256.             continue
  257.         if character == "G":
  258.             state = "q0"
  259.             file.write("P")
  260.             continue
  261.         if character == "P":
  262.             state = "q0"
  263.             file.write("Q")
  264.             continue
  265.         if character == "D":
  266.             state = "q7"
  267.             file.write("R")
  268.             continue
  269.         if character == "X":
  270.             state = "q7"
  271.             file.write("S")
  272.             continue
  273.         if character == "R":
  274.             state = "q7"
  275.             file.write("T")
  276.             continue
  277.         if character == "F":
  278.             state = "q7"
  279.             file.write("U")
  280.             continue
  281.         if character == "Q":
  282.             state = "q7"
  283.             file.write("V")
  284.             continue
  285.         if character == "A":
  286.             state = "q7"
  287.             file.write("W")
  288.             continue
  289.         if character == "8":
  290.             state = "q7"
  291.             file.write("X")
  292.             continue
  293.         if character == "H":
  294.             state = "q7"
  295.             file.write("Y")
  296.             continue
  297.         if character == "9":
  298.             state = "q7"
  299.             file.write("Z")
  300.             continue
  301.         if character == "/":
  302.             state = "q1"
  303.             file.write("/")
  304.             continue
  305.     if state == 'q2': # checks if state is 'q2'
  306.         if character == "5":
  307.             state = "q0"
  308.             file.write("0")
  309.             continue
  310.         if character == "Z":
  311.             state = "q3"
  312.             file.write("1")
  313.             continue
  314.         if character == "O":
  315.             state = "q0"
  316.             file.write("2")
  317.             continue
  318.         if character == "D":
  319.             state = "q4"
  320.             file.write("3")
  321.             continue
  322.         if character == "L":
  323.             state = "q0"
  324.             file.write("4")
  325.             continue
  326.         if character == "U":
  327.             state = "q3"
  328.             file.write("5")
  329.             continue
  330.         if character == "R":
  331.             state = "q0"
  332.             file.write("6")
  333.             continue
  334.         if character == "T":
  335.             state = "q4"
  336.             file.write("7")
  337.             continue
  338.         if character == "7":
  339.             state = "q0"
  340.             file.write("8")
  341.             continue
  342.         if character == "Q":
  343.             state = "q3"
  344.             file.write("9")
  345.             continue
  346.         if character == "H":
  347.             state = "q0"
  348.             file.write("A")
  349.             continue
  350.         if character == "F":
  351.             state = "q4"
  352.             file.write("B")
  353.             continue
  354.         if character == "S":
  355.             state = "q0"
  356.             file.write("C")
  357.             continue
  358.         if character == "4":
  359.             state = "q3"
  360.             file.write("D")
  361.             continue
  362.         if character == "B":
  363.             state = "q0"
  364.             file.write("E")
  365.             continue
  366.         if character == "8":
  367.             state = "q4"
  368.             file.write("F")
  369.             continue
  370.         if character == "E":
  371.             state = "q0"
  372.             file.write("G")
  373.             continue
  374.         if character == "C":
  375.             state = "q3"
  376.             file.write("H")
  377.             continue
  378.         if character == "G":
  379.             state = "q0"
  380.             file.write("I")
  381.             continue
  382.         if character == "V":
  383.             state = "q4"
  384.             file.write("J")
  385.             continue
  386.         if character == "Y":
  387.             state = "q0"
  388.             file.write("K")
  389.             continue
  390.         if character == "6":
  391.             state = "q3"
  392.             file.write("L")
  393.             continue
  394.         if character == "A":
  395.             state = "q0"
  396.             file.write("M")
  397.             continue
  398.         if character == "N":
  399.             state = "q4"
  400.             file.write("N")
  401.             continue
  402.         if character == "K":
  403.             state = "q0"
  404.             file.write("O")
  405.             continue
  406.         if character == "1":
  407.             state = "q3"
  408.             file.write("P")
  409.             continue
  410.         if character == "I":
  411.             state = "q0"
  412.             file.write("Q")
  413.             continue
  414.         if character == "0":
  415.             state = "q4"
  416.             file.write("R")
  417.             continue
  418.         if character == "2":
  419.             state = "q0"
  420.             file.write("S")
  421.             continue
  422.         if character == "P":
  423.             state = "q3"
  424.             file.write("T")
  425.             continue
  426.         if character == "X":
  427.             state = "q0"
  428.             file.write("U")
  429.             continue
  430.         if character == "3":
  431.             state = "q4"
  432.             file.write("V")
  433.             continue
  434.         if character == "M":
  435.             state = "q0"
  436.             file.write("W")
  437.             continue
  438.         if character == "9":
  439.             state = "q3"
  440.             file.write("X")
  441.             continue
  442.         if character == "J":
  443.             state = "q0"
  444.             file.write("Y")
  445.             continue
  446.         if character == "W":
  447.             state = "q4"
  448.             file.write("Z")
  449.             continue
  450.         if character == "/":
  451.             state = "q2"
  452.             file.write("/")
  453.             continue
  454.     if state == 'q3': # checks if state is 'q3'
  455.         if character == "Y":
  456.             state = "q5"
  457.             file.write("0")
  458.             continue
  459.         if character == "3":
  460.             state = "q3"
  461.             file.write("1")
  462.             continue
  463.         if character == "J":
  464.             state = "q2"
  465.             file.write("2")
  466.             continue
  467.         if character == "1":
  468.             state = "q2"
  469.             file.write("3")
  470.             continue
  471.         if character == "4":
  472.             state = "q3"
  473.             file.write("4")
  474.             continue
  475.         if character == "G":
  476.             state = "q0"
  477.             file.write("5")
  478.             continue
  479.         if character == "U":
  480.             state = "q2"
  481.             file.write("6")
  482.             continue
  483.         if character == "T":
  484.             state = "q2"
  485.             file.write("7")
  486.             continue
  487.         if character == "E":
  488.             state = "q3"
  489.             file.write("8")
  490.             continue
  491.         if character == "8":
  492.             state = "q0"
  493.             file.write("9")
  494.             continue
  495.         if character == "Q":
  496.             state = "q5"
  497.             file.write("A")
  498.             continue
  499.         if character == "Z":
  500.             state = "q0"
  501.             file.write("B")
  502.             continue
  503.         if character == "F":
  504.             state = "q3"
  505.             file.write("C")
  506.             continue
  507.         if character == "H":
  508.             state = "q2"
  509.             file.write("D")
  510.             continue
  511.         if character == "9":
  512.             state = "q2"
  513.             file.write("E")
  514.             continue
  515.         if character == "5":
  516.             state = "q3"
  517.             file.write("F")
  518.             continue
  519.         if character == "L":
  520.             state = "q2"
  521.             file.write("G")
  522.             continue
  523.         if character == "W":
  524.             state = "q2"
  525.             file.write("H")
  526.             continue
  527.         if character == "N":
  528.             state = "q0"
  529.             file.write("I")
  530.             continue
  531.         if character == "6":
  532.             state = "q3"
  533.             file.write("J")
  534.             continue
  535.         if character == "2":
  536.             state = "q2"
  537.             file.write("K")
  538.             continue
  539.         if character == "D":
  540.             state = "q2"
  541.             file.write("L")
  542.             continue
  543.         if character == "0":
  544.             state = "q0"
  545.             file.write("M")
  546.             continue
  547.         if character == "O":
  548.             state = "q3"
  549.             file.write("N")
  550.             continue
  551.         if character == "7":
  552.             state = "q2"
  553.             file.write("O")
  554.             continue
  555.         if character == "M":
  556.             state = "q2"
  557.             file.write("P")
  558.             continue
  559.         if character == "X":
  560.             state = "q3"
  561.             file.write("Q")
  562.             continue
  563.         if character == "C":
  564.             state = "q2"
  565.             file.write("R")
  566.             continue
  567.         if character == "A":
  568.             state = "q2"
  569.             file.write("S")
  570.             continue
  571.         if character == "I":
  572.             state = "q0"
  573.             file.write("T")
  574.             continue
  575.         if character == "P":
  576.             state = "q3"
  577.             file.write("U")
  578.             continue
  579.         if character == "V":
  580.             state = "q2"
  581.             file.write("V")
  582.             continue
  583.         if character == "R":
  584.             state = "q2"
  585.             file.write("W")
  586.             continue
  587.         if character == "K":
  588.             state = "q3"
  589.             file.write("X")
  590.             continue
  591.         if character == "B":
  592.             state = "q0"
  593.             file.write("Y")
  594.             continue
  595.         if character == "S":
  596.             state = "q2"
  597.             file.write("Z")
  598.             continue
  599.         if character == "/":
  600.             state = "q3"
  601.             file.write("/")
  602.             continue
  603.     if state == 'q4': # checks if state is 'q4'
  604.         if character == "J":
  605.             state = "q2"
  606.             file.write("0")
  607.             continue
  608.         if character == "H":
  609.             state = "q2"
  610.             file.write("1")
  611.             continue
  612.         if character == "6":
  613.             state = "q0"
  614.             file.write("2")
  615.             continue
  616.         if character == "C":
  617.             state = "q0"
  618.             file.write("3")
  619.             continue
  620.         if character == "Z":
  621.             state = "q2"
  622.             file.write("4")
  623.             continue
  624.         if character == "8":
  625.             state = "q2"
  626.             file.write("5")
  627.             continue
  628.         if character == "W":
  629.             state = "q2"
  630.             file.write("6")
  631.             continue
  632.         if character == "P":
  633.             state = "q2"
  634.             file.write("7")
  635.             continue
  636.         if character == "T":
  637.             state = "q2"
  638.             file.write("8")
  639.             continue
  640.         if character == "G":
  641.             state = "q0"
  642.             file.write("9")
  643.             continue
  644.         if character == "M":
  645.             state = "q2"
  646.             file.write("A")
  647.             continue
  648.         if character == "I":
  649.             state = "q0"
  650.             file.write("B")
  651.             continue
  652.         if character == "2":
  653.             state = "q0"
  654.             file.write("C")
  655.             continue
  656.         if character == "4":
  657.             state = "q2"
  658.             file.write("D")
  659.             continue
  660.         if character == "E":
  661.             state = "q2"
  662.             file.write("E")
  663.             continue
  664.         if character == "0":
  665.             state = "q2"
  666.             file.write("F")
  667.             continue
  668.         if character == "F":
  669.             state = "q2"
  670.             file.write("G")
  671.             continue
  672.         if character == "5":
  673.             state = "q2"
  674.             file.write("H")
  675.             continue
  676.         if character == "V":
  677.             state = "q2"
  678.             file.write("I")
  679.             continue
  680.         if character == "A":
  681.             state = "q0"
  682.             file.write("J")
  683.             continue
  684.         if character == "S":
  685.             state = "q0"
  686.             file.write("K")
  687.             continue
  688.         if character == "K":
  689.             state = "q0"
  690.             file.write("L")
  691.             continue
  692.         if character == "U":
  693.             state = "q0"
  694.             file.write("M")
  695.             continue
  696.         if character == "Y":
  697.             state = "q0"
  698.             file.write("N")
  699.             continue
  700.         if character == "X":
  701.             state = "q0"
  702.             file.write("O")
  703.             continue
  704.         if character == "B":
  705.             state = "q2"
  706.             file.write("P")
  707.             continue
  708.         if character == "1":
  709.             state = "q2"
  710.             file.write("Q")
  711.             continue
  712.         if character == "3":
  713.             state = "qaccept"
  714.             file.write("R")
  715.             continue
  716.         if character == "9":
  717.             state = "q2"
  718.             file.write("S")
  719.             continue
  720.         if character == "L":
  721.             state = "q2"
  722.             file.write("T")
  723.             continue
  724.         if character == "N":
  725.             state = "q2"
  726.             file.write("U")
  727.             continue
  728.         if character == "D":
  729.             state = "q2"
  730.             file.write("V")
  731.             continue
  732.         if character == "R":
  733.             state = "q2"
  734.             file.write("W")
  735.             continue
  736.         if character == "Q":
  737.             state = "q2"
  738.             file.write("X")
  739.             continue
  740.         if character == "7":
  741.             state = "q2"
  742.             file.write("Y")
  743.             continue
  744.         if character == "O":
  745.             state = "q2"
  746.             file.write("Z")
  747.             continue
  748.         if character == "/":
  749.             state = "q4"
  750.             file.write("/")
  751.             continue   
  752.     if state == 'q5': # checks if state is 'q5'
  753.         if character == "I":
  754.             state = "q3"
  755.             file.write("0")
  756.             continue
  757.         if character == "O":
  758.             state = "q3"
  759.             file.write("1")
  760.             continue
  761.         if character == "V":
  762.             state = "q3"
  763.             file.write("2")
  764.             continue
  765.         if character == "L":
  766.             state = "q3"
  767.             file.write("3")
  768.             continue
  769.         if character == "Z":
  770.             state = "q3"
  771.             file.write("4")
  772.             continue
  773.         if character == "5":
  774.             state = "q3"
  775.             file.write("5")
  776.             continue
  777.         if character == "3":
  778.             state = "q3"
  779.             file.write("6")
  780.             continue
  781.         if character == "6":
  782.             state = "q3"
  783.             file.write("7")
  784.             continue
  785.         if character == "M":
  786.             state = "q3"
  787.             file.write("8")
  788.             continue
  789.         if character == "9":
  790.             state = "q6"
  791.             file.write("9")
  792.             continue
  793.         if character == "N":
  794.             state = "q3"
  795.             file.write("A")
  796.             continue
  797.         if character == "W":
  798.             state = "q3"
  799.             file.write("B")
  800.             continue
  801.         if character == "U":
  802.             state = "q3"
  803.             file.write("C")
  804.             continue
  805.         if character == "S":
  806.             state = "q3"
  807.             file.write("D")
  808.             continue
  809.         if character == "1":
  810.             state = "q3"
  811.             file.write("E")
  812.             continue
  813.         if character == "H":
  814.             state = "q3"
  815.             file.write("F")
  816.             continue
  817.         if character == "F":
  818.             state = "q3"
  819.             file.write("G")
  820.             continue
  821.         if character == "D":
  822.             state = "q3"
  823.             file.write("H")
  824.             continue
  825.         if character == "4":
  826.             state = "q3"
  827.             file.write("I")
  828.             continue
  829.         if character == "8":
  830.             state = "q3"
  831.             file.write("J")
  832.             continue
  833.         if character == "E":
  834.             state = "q3"
  835.             file.write("K")
  836.             continue
  837.         if character == "G":
  838.             state = "q3"
  839.             file.write("L")
  840.             continue
  841.         if character == "R":
  842.             state = "q3"
  843.             file.write("M")
  844.             continue
  845.         if character == "K":
  846.             state = "q3"
  847.             file.write("N")
  848.             continue
  849.         if character == "X":
  850.             state = "q3"
  851.             file.write("O")
  852.             continue
  853.         if character == "Y":
  854.             state = "q3"
  855.             file.write("P")
  856.             continue
  857.         if character == "2":
  858.             state = "q3"
  859.             file.write("Q")
  860.             continue
  861.         if character == "P":
  862.             state = "q3"
  863.             file.write("R")
  864.             continue
  865.         if character == "7":
  866.             state = "q3"
  867.             file.write("S")
  868.             continue
  869.         if character == "J":
  870.             state = "q3"
  871.             file.write("T")
  872.             continue
  873.         if character == "0":
  874.             state = "q3"
  875.             file.write("U")
  876.             continue
  877.         if character == "T":
  878.             state = "q3"
  879.             file.write("V")
  880.             continue
  881.         if character == "C":
  882.             state = "q3"
  883.             file.write("W")
  884.             continue
  885.         if character == "A":
  886.             state = "q3"
  887.             file.write("X")
  888.             continue
  889.         if character == "Q":
  890.             state = "q3"
  891.             file.write("Y")
  892.             continue
  893.         if character == "B":
  894.             state = "q6"
  895.             file.write("Z")
  896.             continue
  897.         if character == "/":
  898.             state = "q5"
  899.             file.write("/")
  900.             continue
  901.     if state == 'q6': # checks if state is 'q6'
  902.         if character == "G":
  903.             state = "q4"
  904.             file.write("0")
  905.             continue
  906.         if character == "P":
  907.             state = "q4"
  908.             file.write("1")
  909.             continue
  910.         if character == "I":
  911.             state = "q4"
  912.             file.write("2")
  913.             continue
  914.         if character == "Q":
  915.             state = "q4"
  916.             file.write("3")
  917.             continue
  918.         if character == "A":
  919.             state = "q4"
  920.             file.write("4")
  921.             continue
  922.         if character == "V":
  923.             state = "q4"
  924.             file.write("5")
  925.             continue
  926.         if character == "3":
  927.             state = "q4"
  928.             file.write("6")
  929.             continue
  930.         if character == "B":
  931.             state = "q4"
  932.             file.write("7")
  933.             continue
  934.         if character == "K":
  935.             state = "q4"
  936.             file.write("8")
  937.             continue
  938.         if character == "U":
  939.             state = "q4"
  940.             file.write("9")
  941.             continue
  942.         if character == "7":
  943.             state = "q4"
  944.             file.write("A")
  945.             continue
  946.         if character == "1":
  947.             state = "q4"
  948.             file.write("B")
  949.             continue
  950.         if character == "4":
  951.             state = "q4"
  952.             file.write("C")
  953.             continue
  954.         if character == "0":
  955.             state = "q4"
  956.             file.write("D")
  957.             continue
  958.         if character == "R":
  959.             state = "q4"
  960.             file.write("E")
  961.             continue
  962.         if character == "M":
  963.             state = "q4"
  964.             file.write("F")
  965.             continue
  966.         if character == "N":
  967.             state = "q4"
  968.             file.write("G")
  969.             continue
  970.         if character == "C":
  971.             state = "q4"
  972.             file.write("H")
  973.             continue
  974.         if character == "D":
  975.             state = "q4"
  976.             file.write("I")
  977.             continue
  978.         if character == "E":
  979.             state = "q4"
  980.             file.write("J")
  981.             continue
  982.         if character == "Z":
  983.             state = "q4"
  984.             file.write("K")
  985.             continue
  986.         if character == "X":
  987.             state = "q4"
  988.             file.write("L")
  989.             continue
  990.         if character == "W":
  991.             state = "q4"
  992.             file.write("M")
  993.             continue
  994.         if character == "6":
  995.             state = "q4"
  996.             file.write("N")
  997.             continue
  998.         if character == "9":
  999.             state = "q4"
  1000.             file.write("O")
  1001.             continue
  1002.         if character == "5":
  1003.             state = "q4"
  1004.             file.write("P")
  1005.             continue
  1006.         if character == "H":
  1007.             state = "q4"
  1008.             file.write("Q")
  1009.             continue
  1010.         if character == "J":
  1011.             state = "q4"
  1012.             file.write("R")
  1013.             continue
  1014.         if character == "Y":
  1015.             state = "q4"
  1016.             file.write("S")
  1017.             continue
  1018.         if character == "S":
  1019.             state = "q4"
  1020.             file.write("T")
  1021.             continue
  1022.         if character == "2":
  1023.             state = "q4"
  1024.             file.write("U")
  1025.             continue
  1026.         if character == "T":
  1027.             state = "q4"
  1028.             file.write("V")
  1029.             continue
  1030.         if character == "F":
  1031.             state = "q4"
  1032.             file.write("W")
  1033.             continue
  1034.         if character == "L":
  1035.             state = "qaccept"
  1036.             file.write("X")
  1037.             continue
  1038.         if character == "O":
  1039.             state = "q4"
  1040.             file.write("Y")
  1041.             continue
  1042.         if character == "8":
  1043.             state = "q4"
  1044.             file.write("Z")
  1045.             continue
  1046.         if character == "/":
  1047.             state = "q6"
  1048.             file.write("/")
  1049.             continue           
  1050.     if state == 'q7': # checks if state is 'q7'
  1051.         if character == "A":
  1052.             state = "q1"
  1053.             file.write("0")
  1054.             continue
  1055.         if character == "L":
  1056.             state = "q1"
  1057.             file.write("1")
  1058.             continue
  1059.         if character == "B":
  1060.             state = "q1"
  1061.             file.write("2")
  1062.             continue
  1063.         if character == "2":
  1064.             state = "q1"
  1065.             file.write("3")
  1066.             continue
  1067.         if character == "N":
  1068.             state = "q1"
  1069.             file.write("4")
  1070.             continue
  1071.         if character == "H":
  1072.             state = "q1"
  1073.             file.write("5")
  1074.             continue
  1075.         if character == "E":
  1076.             state = "q1"
  1077.             file.write("6")
  1078.             continue
  1079.         if character == "0":
  1080.             state = "q1"
  1081.             file.write("7")
  1082.             continue
  1083.         if character == "Z":
  1084.             state = "q1"
  1085.             file.write("8")
  1086.             continue
  1087.         if character == "P":
  1088.             state = "q1"
  1089.             file.write("9")
  1090.             continue
  1091.         if character == "7":
  1092.             state = "q1"
  1093.             file.write("A")
  1094.             continue
  1095.         if character == "Q":
  1096.             state = "qaccept"
  1097.             file.write("B")
  1098.             continue
  1099.         if character == "D":
  1100.             state = "q1"
  1101.             file.write("C")
  1102.             continue
  1103.         if character == "T":
  1104.             state = "q1"
  1105.             file.write("D")
  1106.             continue
  1107.         if character == "K":
  1108.             state = "q1"
  1109.             file.write("E")
  1110.             continue
  1111.         if character == "O":
  1112.             state = "q1"
  1113.             file.write("F")
  1114.             continue
  1115.         if character == "I":
  1116.             state = "q1"
  1117.             file.write("G")
  1118.             continue
  1119.         if character == "4":
  1120.             state = "q1"
  1121.             file.write("H")
  1122.             continue
  1123.         if character == "8":
  1124.             state = "q1"
  1125.             file.write("I")
  1126.             continue
  1127.         if character == "S":
  1128.             state = "q1"
  1129.             file.write("J")
  1130.             continue
  1131.         if character == "G":
  1132.             state = "q1"
  1133.             file.write("K")
  1134.             continue
  1135.         if character == "3":
  1136.             state = "q1"
  1137.             file.write("L")
  1138.             continue
  1139.         if character == "Y":
  1140.             state = "q1"
  1141.             file.write("M")
  1142.             continue
  1143.         if character == "C":
  1144.             state = "q1"
  1145.             file.write("N")
  1146.             continue
  1147.         if character == "1":
  1148.             state = "q1"
  1149.             file.write("O")
  1150.             continue
  1151.         if character == "9":
  1152.             state = "q1"
  1153.             file.write("P")
  1154.             continue
  1155.         if character == "V":
  1156.             state = "q1"
  1157.             file.write("Q")
  1158.             continue
  1159.         if character == "J":
  1160.             state = "q1"
  1161.             file.write("R")
  1162.             continue
  1163.         if character == "X":
  1164.             state = "q1"
  1165.             file.write("S")
  1166.             continue
  1167.         if character == "6":
  1168.             state = "q1"
  1169.             file.write("T")
  1170.             continue
  1171.         if character == "5":
  1172.             state = "q1"
  1173.             file.write("U")
  1174.             continue
  1175.         if character == "F":
  1176.             state = "q1"
  1177.             file.write("V")
  1178.             continue
  1179.         if character == "W":
  1180.             state = "q1"
  1181.             file.write("W")
  1182.             continue
  1183.         if character == "R":
  1184.             state = "q1"
  1185.             file.write("X")
  1186.             continue
  1187.         if character == "U":
  1188.             state = "q1"
  1189.             file.write("Y")
  1190.             continue
  1191.         if character == "M":
  1192.             state = "q1"
  1193.             file.write("Z")
  1194.             continue
  1195.         if character == "/":
  1196.             state = "q1"
  1197.             file.write("/")
  1198.             continue
  1199.     if state == "qaccept": # checks if state is 'qaccept'
  1200.         print("QACCEPT - TURNING MACHINE HALTED") # machine succesfully stopped and string is decoded
  1201.         break # stops the script
  1202.     else:
  1203.         print("Error, character or state not found")
  1204.         break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement