рдкрд╛рдпрдерди рдореЗрдВ рд░реИрдВрдбрдо рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рдирд╛

рдЫрд╡рд┐

рдбреЙрдХрд┐рдВрд╕ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реБрдП, рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдпрджрд┐ рдЖрдк рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрдЪрд░реЗ рдХреЗ рдКрдкрд░ рдмрд╡рдВрдбрд░ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдмреЛрдЗрдВрдЧ 747 рдЗрдХрдЯреНрдард╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдбреНрдпреВрд░рд┐рдХ рджреНрд╡рд╛рд░рд╛ рдЕрд░рд╛рдЬрдХрддрд╛ рд╕реЗ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрджреНрднрд╡: рд╕рднреА рдЕрд░реНрдерд╣реАрди рдФрд░ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рдФрд░ рдкреБрдирд░реНрд╕рдВрдпреЛрдЬрди рдХрд░рдирд╛, рд╡реНрдпрдХреНрддрд┐ рдХрд╛рдлреА рд╕рд╛рд░реНрдердХ рдФрд░ рдЖрджреЗрд╢рд┐рдд рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд┐рд╕реА рддрд░рд╣ рддрдп рдХреА рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рд╕рд┐рд╕реНрдЯрдо, рдЬреЛ рдХрд▓ рдмреНрд░рд╛рдЙрдирд┐рдпрди рдЧрддрд┐ рдерд╛, рдЖрдЬ рдРрд╕рд╛ рд▓рдЧрдиреЗ рд▓рдЧрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рдЕрджреГрд╢реНрдп рд╣рд╛рде рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдпрд╣ рдХреБрдЫ рдРрд╕реЗ рдХрд╛рд░реНрдп рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рд╛рд░реНрдердХ рд╣реИрдВред рд╕рд╛рде рд╣реА рдЙрд╕рдХрд╛ рдХреЛрдИ рд╣рд╛рде рднреА рдирд╣реАрдВ рд╣реИред рдЙрд╕рдиреЗ рдЦреБрдж рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред

рдлрд┐рд░ рд╕реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбрд┐рдЬрд┐рдЯрд▓ рдЬреАрд╡рди рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЕрд░рд╛рдЬрдХрддрд╛ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмрд┐рдирд╛, рдЕрдкрдиреЗ рд▓рд┐рдП рдЕрдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рддрд░реНрдХ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдФрд░ рдЙрд╕ рдкрд░ рдЕрдкрдиреЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЖрд╡рд╛рд╕ - рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдЧрд╛ред рд╣рд╛рдВ, рдЗрд╕рдореЗрдВ, рд╢рд╛рдпрдж, "рдЖрд░реНрдЯрд┐рдлрд╝рд┐рд╢рд┐рдпрд▓ рд▓рд╛рдЗрдл" рджрд┐рд╢рд╛ рд╕реЗ рдХрдИ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдЕрдВрддрд░ рд╣реИ, рдЬреЛ "рд▓рд╛рдЗрд╡" рдЧрд▓рд┐рдпрд╛рд░реЛрдВ рдореЗрдВ, "рд╢рд┐рдХрд╛рд░рд┐рдпреЛрдВ" рдФрд░ "рд╢рд╛рдХрд╛рд╣рд╛рд░реА", рдФрд░ "рднреЛрдЬрди" рдФрд░ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдХреГрддреНрд░рд┐рдо рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕рд╣-рдореМрдЬреВрдж рд╣реИрдВред рдЗрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рд┐рд╕реНрдЯрдо рдСрдмреНрдЬреЗрдХреНрдЯ (рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдлрд╛рдЗрд▓реЗрдВ, рдЖрджрд┐) рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рд░рд╣рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдХреЛрдб рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдЕрднреА рднреА рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рд╕реАрдорд┐рдд рджрд╛рдпрд░реЗ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЕрд░рд╛рдЬрдХ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдПрдХ рдореЙрдбрд▓ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ 3 рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

  1. рдореБрдЦреНрдп рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреАрдврд╝реА рдХрд╛ рдореЙрдбреНрдпреВрд▓
  2. рд░реИрдВрдбрдо рд╢рд┐рдХреНрд╖рд╛ рдореЙрдбреНрдпреВрд▓
  3. рдУрдПрд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ "рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди" рдореЙрдбреНрдпреВрд▓

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдЕрдм рддрдХ рдХреЗрд╡рд▓ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╢рд╛рдЦрд╛ рдХреА рдкреАрдврд╝реА рд╣реИ, рдЕрд░реНрдерд╛рддред "рдЕрдЧрд░-рдПрд▓рд┐рдл-рдФрд░" рдЬреИрд╕реЗ рдирд┐рд░реНрдорд╛рдгред рд╢рд╛рдЦрд╛рдпреЗрдВ рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐, рдмрдбрд╝реЗ рдФрд░ рдХрд┐рд╕реА рднреА рдЬреАрд╡рд┐рдд рдЬреАрд╡ рдХреЗ рдЬреАрд╡рди рдореЗрдВ рд╡рд╛рддрд╛рдиреБрдХреВрд▓рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ: рд╣рдо рдЬреЛ рдХреБрдЫ рднреА рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдХрдерд┐рдд рд╕реВрдЪрдирд╛рдУрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИред рдХреЛрд╢рд┐рдХрд╛рдПрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреА рд╣реИрдВ рдпрджрд┐ рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдкреАрдбрд╝рд┐рдд рдПрдХ рдордЬрдмреВрдд рд╢рд┐рдХрд╛рд░реА рдХреЛ рджреЗрдЦрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдЧрд░ рд╡рд╣ рдХрдордЬреЛрд░ рд╣реИ, рддреЛ рд╡рд╣ рдЙрд╕ рдкрд░ рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рдкреНрд░рдХрд╛рд╢ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддрд┐рд▓рдЪрдЯреНрдЯреЗ рдмрд┐рдЦреЗрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рд╡рд╣ рднреВрдЦрд╛ рд╣реИ, рдЖрджрд┐ред рдЖрджрд┐ред - рдпрд╣ рдкрдВрдХреНрддрд┐ рдЕрдВрддрд╣реАрди рд╣реИред рдХреЛрдИ рднреА рд╕реНрд╡рддрдВрддреНрд░, рдЕрд▓рдЧ рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдЪреАрдЬ рд╕реЗ рд╡рд╛рддрд╛рдиреБрдХреВрд▓рд┐рдд рди рд╣реЛред рдирддреАрдЬрддрди, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреАрд╡рд┐рдд рдЬреАрд╡реЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕реНрдерд┐рддрд┐ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: IF [рдХреБрдЫ] THEN [рдХреБрдЫ]ред рд╣рдо рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдХреНрдпреЛрдВ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ? рдХреЛрдб рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдФрд░ рд╡реНрдпрдХреНрддрд┐ (рдкреНрд░реЛрдЧреНрд░рд╛рдорд░) рдХреЛ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рджреВрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдЕрд╡рд╕рд░ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕рдВрднрд╡ рд╣реЛ (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдХрдард┐рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдорд╛рдирдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рд░ рдХреЛрдИ рдЖрджреА рд╣реИ, рдЬрд╛рдирд╡рд░реЛрдВ рдХреЗ рдПрдХ рдХрдард┐рди рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗ рдорд┐рд▓рддрд╛ рдЬреБрд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рд╡рд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╕реНрдерд┐рддрд┐ рд╡рд┐рдкрд░реАрдд рд╣реИ: рдЕрдВрддрд┐рдо рдЙрддреНрдкрдиреНрди рдХреЛрдб рдХреЛ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдбрд╛рдпрдЧреНрд░рд╛рдо рдФрд░ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдХреЛрдб рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВ, рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрдбрдХреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЛрдб рдХреЗ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛рдпрд╣рд╛рдБ ред рдЗрд╕рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдореИрдВрдиреЗ "рд▓рд╛рдЗрдл" рдХреЗ рдирд╛рдо рд╕реЗ рд╕реБрджреГрдвреАрдХрд░рдг рд╕реАрдЦрдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдЬреЙрди рдХреЙрдирд╡реЗ рдХреЗ рдЦреЗрд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдХрд╕рд┐рдд рдпрд╛ рдЦреБрд▓реЗ рддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдирдпрд╛ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдХрд╛ рдПрдХ рд╕рдВрд╢реНрд▓реЗрд╖рдг рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдЦреБрдж рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЕрдкрдирд╛рдпрд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╡рд╣ рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдереЛрдбрд╝рд╛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ:

def make_solution(p_random, p_deter):                       
    deter_flag = 0
    random_flag = 0
    if p_random >= random.random():
            p_random-=0.01                                  #  
            p_deter+=0.01
            random_flag = 1
    if p_deter >= random.random():
            p_deter-=0.01                                   #  
            p_random+=0.01
            deter_flag = 1
    if random_flag == 1 and deter_flag == 0:
        return(p_random, p_deter, 1)
    elif deter_flag == 1 and random_flag == 0:
        return(p_random, p_deter, -1)
    else:
        return (p_random, p_deter,0)

рдЗрдирдкреБрдЯ рдкрд░, рдпрд╣ 2 рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рд▓реЗрддрд╛ рд╣реИ (рд╢реБрд░реВ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡реЗ рджреЛрдиреЛрдВ 0.5 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИрдВ), рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдЙрдирдХреЗ рдСрдкрд░реЗрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ 1% рддрдХ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЙрд╕реА рд╕рдордп рдЕрдиреНрдп 1% рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рд░ рдмрд╛рд░ рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдпрд╣ рдШрдЯ рдЬрд╛рддреА рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рдирддреАрдЬрддрди, рдХрд┐рд╕реА рднреА рд╕рдВрднрд╛рд╡рдирд╛ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд▓рд╛рдн рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рдФрд░ рд╡реЗ рдЖрддреНрдо-рд╕рдВрддреБрд▓рди, 0.5 рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рддрд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ рдФрд░ +10% рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдХреЗ рдХрд╛рдордХрд╛рдЬреА рдкрдбрд╝реЛрд╕ рдХреЗ рд╕рд╛рде, рдЬреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдорд╛рдирдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реЗ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ 0.5 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ рдФрд░ рдкрд┐рдЫрд▓реЗ рдЧрдгрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдПрдХ рдЫреЛрдЯреЗ рдЖрдпрд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рдкреЗрдВрдбреБрд▓рдо рд╣реИред рдпрджрд┐ рдкрд╣рд▓реА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рддреЛ рдпрд╣ 1 рд▓реМрдЯрддреА рд╣реИ, рдЕрдиреНрдпрдерд╛ -1 рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдпрджрд┐ рджреЛрдиреЛрдВ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ 0., рдЗрд╕ рдкреНрд░рдХрд╛рд░, 2 рдЖрд╡рдХ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореЗрдХрдУрд▓реЗрд╢рди рдлрд╝рдВрдХреНрд╢рди 3 рд╕рдВрднрд╛рд╡рд┐рдд рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рджреЗрддрд╛ рд╣реИ, рдПрдХ рд╕рдВрддреБрд▓рд┐рдд рджреЗрддрд╛ рд╣реИред 3 рд╕рдВрднрд╛рд╡рд┐рдд рдирд┐рд░рдВрддрд░рддрд╛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдВрдЯрд╛ рд╕рдорд╛рдзрд╛рдиред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдФрд░ рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛рдУрдВ рдХреА рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рд▓реЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рдВрдЯреЗ рдореЗрдВ рднрд┐рдиреНрдирддрд╛ 3 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдл-рдПрд▓реАрдл-рдЕрдиреНрдпрдерд╛ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рд▓рд┐рдП рддреАрди рд╡рд┐рдХрд▓реНрдк рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред

рдпрд╣рд╛рдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреЛрдб рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП, рдареЗрда рдХрд╛рдВрдЯреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрдирд░реЗрдЯрд░ рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдореЗрдВ рдПрдХ рдХрд╛рдВрдЯрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╢рд╛рдЦрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдпреЛрдЬрдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ 3 рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдорд╛рдорд▓реЗ рднреА рдХреЛрдб рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ: рдПрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдмреНрд▓реЙрдХ рдбрд╛рд▓реЗрдВ рдФрд░ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╢реБрд░реВ рдХрд░реЗрдВ, рдХрд┐рддрдиреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд▓рд╛рдЗрдиреЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдХрд┐рддрдирд╛ рдЬрдЯрд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢рд░реНрдд рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди, рдбрд╛рд▓ рдпрд╛ рдпрд╛, рдПрд▓рд┐рдл рдпрд╛ рдлрд┐рд░ред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рдВрднрд╛рд╡реНрдп рдкреЗрдВрдбреБрд▓рдо, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдКрдкрд░ рдмрд╛рдд рдХреА рд╣реИ, рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдлрд┐рд░ рдХрд╛рдВрдЯрд╛ рдХреЗрд╡рд▓ рдЗрд╕ рдХрд╛рдВрдЯреЗ рдкрд░ рдкрд╣рд▓реЗ рд╣реБрдИ рдмрд╛рддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрддреБрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рди рдХрд┐ рдХреЛрдб рдХреЗ рдХреБрдЫ рдЕрдиреНрдп рднрд╛рдЧреЛрдВ рдореЗрдВред рдЙрдиред рд╕рд╛рдорд╛рдиреНрдп рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╕рдордп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреА рдЕрдкрдиреА рдЬреЛрдбрд╝реА рд╣реИ, рдФрд░ рдЕрдВрджрд░, рдЬрдм рдЗрд╕рдХреЗ рддрддреНрд╡ рдирд┐рд░реНрдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рджреВрд╕рд░рд╛ред

рдмреЗрд╢рдХ, рдЖрдк рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд╕рд╛рде рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рдВрдЯрд╛ рдкрд░ рд╕рдВрднрд╛рд╡рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реЛрдЧреА рдФрд░ рдЕрдиреНрдп рдЬрдВрдХреНрд╢рдиреЛрдВ рдкрд░ рд╕рднреА рдкрд┐рдЫрд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧреАред рдЗрд╕ рддрд░рд╣ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкрд╣рд▓реА рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╡рд╣ рдбрд┐рдЬрд╛рдЗрди рдкрд╕рдВрдж рд╣реИ рдЬрд╣рд╛рдВ рдЕрдиреНрдп рдЫреЛрдЯреЗ рд╡рд╛рд▓реЗ рдПрдХ рдмрдбрд╝реЗ рд╕реНрд╡рд┐рдВрдЧрд┐рдВрдЧ рдкреЗрдВрдбреБрд▓рдо рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдЭреВрд▓рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдЫреЛрдЯреЗ рд╕рдВрддреБрд▓рди рдПрдХ рдмрдбрд╝реЗ рд╕рдВрддреБрд▓рди рдореЗрдВ рдкреИрджрд╛ рд╣реЛрддреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА, рджреВрд╕рд░реА рд╕реНрдХреАрдо рдореЗрдВ, рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рднреА рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред

рд╢рд╛рдЦрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп, рди рдХреЗрд╡рд▓ рдХрд╛рдо рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХреЛрдб рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдЬреЛ рддреНрд░реБрдЯрд┐-рдореБрдХреНрдд рдкреАрдврд╝рд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдРрд╕рд╛ рдХреЛрдб рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИif-elif-рдЕрдиреНрдпрдерд╛ рдХреЗ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рдирд┐рд░реНрдорд╛рдг рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ 2 рдпрд╛ 3 рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрднрд╡ рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдЫрд╡рд┐

рдЖрдЗрдХрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ [..] рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдПрдХ рд╢рд░реНрдд рдХреЗ рд▓рд┐рдП рднрд╛рд╡реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдпрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдмреНрд▓реЙрдХред рд╕рдмрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХ рдпреЛрдЬрдирд╛ 1 рд╣реИ, рдЬрд╣рд╛рдВ рд╕реНрдерд┐рддрд┐ рдмрд╕ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХрд╛рд░реНрд░рд╡рд╛рдИ рдмреНрд▓реЙрдХ рд╣реЛрддреА рд╣реИред 2 рдП рдФрд░ 2 рдмреА рдЕрдЧрд░ рдПрдХ рдПрд▓реАрдл рдпрд╛ рдПрдХ рдФрд░ рдХреЗ рд╕рд╛рде рднрд┐рдиреНрдирддрд╛рдПрдВ рд╣реИрдВред рд╡рд┐рдХрд▓реНрдк 2 рд╕реА рдореЗрдВ, рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд┐рдирд╛ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХрдИ рдПрд▓рд┐рдл рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╡рд┐рдХрд▓реНрдк 2 рдбреА рдореЗрдВ, рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд╣рд╛рдВ рдпрджрд┐ рдХрдИ рдПрд▓рд┐рдл рдФрд░ 1 рдЕрдиреНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реЛрдЧрд╛ рдпрджрд┐ рдпрд╣ рдЕрд╕реАрдорд┐рдд рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдерд╛ред рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдмрд╛рдж, рдпрджрд┐ рдПрд▓рд┐рдл рдпрд╛ рдЕрдиреНрдп, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдЖрдЧреЗ рдлрд┐рд░ рд╕реЗ рдЙрда рд╕рдХрддрд╛ рд╣реИ рдФрд░ "рд╕рд╣реА" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдПрд▓рд┐рдл-рдФрд░ рдмреНрд▓реЙрдХреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдпреЛрдЬрдирд╛ рджреЗрдЦреЗрдВред

рдЫрд╡рд┐

рдЕрд╡рддрд╛рд░ 2e рдФрд░ 2f рдРрд╕реЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рд╕рд░рд▓ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдХреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдЬрдм рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рдПрдХрд▓ рдПрд▓рд┐рдл рдХреЗ рдмрд╛рдж рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рдмрд╛рдж рднреА рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдХрд▓реНрдк 2 рдЬреА рдРрд╕реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рдПрд▓рд┐рдл рдХреЗ рдмрд╛рдж рдПрдХ рдПрдХреНрд╢рди рдмреНрд▓реЙрдХ + рд░рд┐рдХрд░реНрд╕рди (рдпрд╛ рддреБрд░рдВрдд рдкреБрдирд░рд╛рд╡рд░реНрддрди) рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣реА рдмрд╛рдд рдХрд┐рд╕реА рдФрд░ рдХреЗ рдмрд╛рдж рднреА рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЕрднреА рднреА рд╡реИрд░рд┐рдПрд╢рди рд╣реИрдВ рдЬрдм рдпрд╛ рдЕрдЧрд░ рдФрд░ рдПрдХреНрд╢рди рдмреНрд▓реЙрдХ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╣реЛрддреА рд╣реИред

рдЫрд╡рд┐

рдпрд╣ рд╡рд┐рдХрд▓реНрдк 3 рдП рдФрд░ 3 рдмреА рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдХрд▓реНрдк 3c рдРрд╕реА рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

рдпрд╣ рдХрд╣рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдпреЛрдЬрдирд╛рдПрдВ рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рд░реВрдк рдореЗрдВ рднреА, рдЕрдВрддрд┐рдо рдХреЛрдб рдЖрд╕рд╛рдиреА рд╕реЗ 150 рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдЬрдиреНрдо рджреЗрддрд╛ рд╣реИ, рдЬреЛ 10-15 рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП "рд╕рд╣реА" рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдпреЛрдЬрдирд╛ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред

рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдРрд╕реА рдкреАрдврд╝реА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╢рд╛рдЦрд╛рдПрдБ рдмрд╣реБрдд рд╡рд┐рд╡рд┐рдз рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдЫрд╡рд┐

рдЖрдкрдХреЛ рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдПрдХреНрд╢рди рдмреНрд▓реЙрдХреЛрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рджреГрд╢реНрдп рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╡реЗ рдХреЗрд╡рд▓ рджреЛ рдЪрд░, 3 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдЕрдВрдХрдЧрдгрд┐рдд рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрдХреЗрддреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред рдкреБрдирд░реНрд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ "рдорд╛рдВрд╕" рдХреА рдПрдХ рдЪрд░реНрдЪрд╛ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ (рдпрд╣ 3 рдореЙрдбреНрдпреВрд▓ рдХреА рдЪрд░реНрдЪрд╛ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА)ред

рдЬрдирд░реЗрдЯрд░ рдХреЛрдб рдХреА рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЙрддреНрдкрдиреНрди рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдЧрд░ рдпрд╣ elif рд╣реИ, рдЕрдиреНрдпрдерд╛, рдпрджрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдпрд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдмреНрд▓реЙрдХ, рдФрд░ рд╢рд╛рдЦрд╛ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдмрд╛рдИрдВ рдУрд░ "рд╡рд╛рдкрд╕" рднреА рдЬрд╛рдПрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдкрд╛рдпрдерди рдХреНрд╖реИрддрд┐рдЬ рд╕рдВрдХреЗрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдпрд╣ рдХрджрдо рдХреЛ рд╕рдорд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЪрд░рдг 3 рд╣реИ)ред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╕реНрдерд╛рдкрди рдХреИрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЫрд╡рд┐

рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╢рд╛рдЦрд╛ рдХреЛ рдЧрд╣рд░рд╛ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрдерд╛рдкрди рд╣рдореЗрд╢рд╛ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрд▓реАрдл-рдФрд░ рдмреНрд▓реЙрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдПрд▓рд┐рдл рдпрд╛ рдПрдХ рдПрдХрд▓ рдПрд▓рд┐рдл-рдЕрдиреНрдп рдЬреЛрдбрд╝реА рд╣реИ, рддреЛ рдЧрд╛рдбрд╝реА рдХреЛ "рд╡рд╛рдкрд╕реА" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рджрд╛рдИрдВ рдУрд░ рддреИрд░рддреА рд╣реИ, рддрд╛рдХрд┐ рдЕрдЧрд▓реЗ рдПрд▓рд┐рдл (рдпрд╛ рдлрд┐рд░) рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛред рдмреНрд▓реЙрдХ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдСрдлрд╕реЗрдЯред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореВрд▓ рдСрдлрд╝рд╕реЗрдЯ ( wall_offset) рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд╣реЛрдЧрд╛) рдФрд░ рд╢рд╛рдЦрд╛ рдкреАрдврд╝реА рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рдж (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрд▓рд┐рдл рдХреА рдкреВрд░реНрдг рд╢рд╛рдЦрд╛), рдЗрд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрд▓рд┐рдл, рдмреНрд▓реЙрдХ рдореЗрдВ рдЕрдиреНрдп рддрддреНрд╡ рд╕рдорд╛рди рд░реВрдк рд╕реЗ "рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдКрдкрд░" рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдирдП рдмреНрд▓реЙрдХ рдХрд╛ рдЕрдкрдирд╛ рд╡рд┐рд╕реНрдерд╛рдкрди рд╣реИред рдПрдХ рд╣реА рдЪрд╛рд▓ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдЕрдЧрд░ рдПрд▓рд┐рдл-рдЕрдиреНрдпрдерд╛ рдирд┐рд░реНрдорд╛рдг (рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕рд╣рд┐рдд) рдореЗрдВ рд╕рджреНрднрд╛рд╡ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред

рдЕрдм рдХреЛрдб рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рд▓рдЧрднрдЧ 200 рд▓рд╛рдЗрдиреЛрдВ рдХреА рдХреБрд▓ рдорд╛рддреНрд░рд╛ рд╡рд╛рд▓реЗ рдХреЛрдб рдореЗрдВ 8 рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рд╣рдордиреЗ рдКрдкрд░ рдЬрд╛рдВрдЪ рдХреА рдереАред рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЦрд░рд╛рдм рдкрдардиреАрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдмрд╣реБрдд рд╣реА "рдорд╛рдВрд╕" рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреВрдВрдЧрд╛ рдЬреЛ рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

var_list = ['a','b']
exp_list = ['a+b','b-a', 'b//a']
sign = ['+','-','/','*','//']
sign2 = ['>','<','==','>=','<=','!=']
a = 3
b = 2

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рджреЛ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: a рдФрд░ b ( var_list ), рдЬреЛ рдХрд┐ рдЖрд░рдВрднреАрдХреГрдд, 3 рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ ( exp_list ), рд╕рд╛рде рд╣реА рд╕рдВрдХреЗрдд ( рд╕рд╛рдЗрди, рд╕рд╛рдЗрди 2 ) рдХреЗ рд╕рд╛рде рджреЛ рд╢реАрдЯ рд╣реИрдВ ред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЕрдм рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддреА рд╣реИ рдФрд░ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдХреЛрдб рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдПрдХ рдФрд░ рдЦрд╝рд╛рд╕рд┐рдпрдд рдХреЛ рдиреЛрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдПрд▓реАрдл-рдФрд░ рдмреНрд▓реЙрдХ рдХреА рдкреАрдврд╝реА рдореЗрдВ, рдЖрдкрдХреЛ рджреВрд╕рд░реЗ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдФрд░ рдкреАрдврд╝реА рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдЕрдиреНрдп рдПрд▓реАрдл рдХреЗ рд╕рд╛рдордиреЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП fin_else_flag рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред

рд╣рдо рдореБрдЦреНрдп рдкреАрдврд╝реА рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

def if_gen(exp_list, var_list, if_str, offset_koeff, fin_else_flag, prob_list):             
    choice_list = [exp_list, var_list]
    base_offset = ' '
    #   
    prob_list[0],prob_list[1],sol = make_solution(prob_list[0],prob_list[1])       
    # if +   (1   )        
    if sol == 0: 
        #     +3                                                                   
        action_str = action_str_gen(choice_list, offset_koeff+3, prob_list)                 
        return(base_offset*offset_koeff+'if '+ if_sub(exp_list,var_list, sign, prob_list) +':\n' + action_str, offset_koeff, fin_else_flag, prob_list) 
    # if + elif/else (2   )           
    elif sol == -1:                                                                         
        if_str= base_offset*offset_koeff+'if '+ if_sub(exp_list,var_list, sign, prob_list) +':\n' + action_str_gen(choice_list, offset_koeff+3, prob_list) # if [..]:
        #  elif/else
        prob_list[2],prob_list[3],sol2=make_solution(prob_list[2],prob_list[3])             
        if sol2!=0:
            ee_string='elif'
        else:
             ee_string='else'
        #   elif/else
        if_str, offset_koeff, fin_else_flag, prob_list = elif_else_block(ee_string, offset_koeff, exp_list, var_list, sign, if_str, choice_list, fin_else_flag, prob_list)
        return(if_str, offset_koeff, fin_else_flag, prob_list)
    # if + if() (3   )
    else:                                                                                   
            if_str= base_offset*offset_koeff+'if '+ if_sub(exp_list,var_list, sign, prob_list) +':\n' # if [..]:
            #  if/if+ 
            prob_list[4],prob_list[5],sol = make_solution(prob_list[4],prob_list[5])        
            if sol==0:
                #     +3
                if_str+=action_str_gen(choice_list, offset_koeff+3, prob_list)      
            #          
            wall_offset = offset_koeff                                                      
            if_rek, offset_koeff, fin_else_flag, prob_list = if_gen(exp_list, var_list, if_str, offset_koeff+3, fin_else_flag, prob_list) #  if+if
            #    
            if_str+=if_rek   
            #   elif-else/                                                                
            prob_list[4],prob_list[5],sol2=make_solution(prob_list[4],prob_list[5])         
            if sol2!=0:
                prob_list[2],prob_list[3],sol3=make_solution(prob_list[2],prob_list[3])
                if sol3!=0:
                    ee_string='elif'
                else:
                    ee_string='else'
                if_str, offset_koeff, fin_else_flag, prob_list = elif_else_block(ee_string, wall_offset, exp_list, var_list, sign, if_str, choice_list, fin_else_flag, prob_list)  
            else:
                #     +3
                if_str+=action_str_gen(choice_list, offset_koeff+3, prob_list)              
            return(if_str, offset_koeff,fin_else_flag, prob_list)

рдкреАрдврд╝реА (exp_list, var_list) рдХреЗ рд▓рд┐рдП "рдорд╛рдВрд╕" рдХреЗ рд╕рд╛рде рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝рдВрдХреНрд╢рди if_str рдХреЛ рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рд╡рд╣ рд░реЗрдЦрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдмрджрд▓реЗ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдпрд╣рд╛рдБ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ if_gen рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣реА рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рди рдЦреЛрдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛ред рдСрдлрд╝рд╕реЗрдЯ_рдХреЛрдПрдлрд╝

рдкреИрд░рд╛рдореАрдЯрд░ рдСрдлрд╕реЗрдЯ рдЧреБрдгрд╛рдВрдХ рд╣реИ, рдЬреЛ рдПрдХ рд╕реНрдерд╛рди ( рдмреЗрд╕_рдСрдлрд╝рд╕реЗрдЯ ) рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░рдХ рд╣реИ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рдХреЛрдб рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдХреНрд╖реИрддрд┐рдЬ рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╣рдордиреЗ рдКрдкрд░ fin_else_flag рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА, рдпрд╣рд╛рдБ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЕрдЧрд░ + elif / else (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЦреИрд░, рдПрдХ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ -



рдкреНрд░реЛрдм_рд▓рд┐рд╕реНрдЯ , рдЬреЛ 10 рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рд╡рд╛рд▓рд╛ рдПрдХ рдкрддреНрд░рдХ рд╣реИ (рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ 5 рдЬреЛрдбрд╝реЗ)
prob_list = [0.5 for y in range(0,10)] 
рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рдЪрд░реНрдЪрд╛ рдХреА: рдореЗрдХ рд╕реЙрд▓реНрдпреВрд╢рди рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ : рдХрд╛рдВрдЯреЗ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реВрдк рдпрд╣ рдпрд╛ рдЙрд╕ рд╕реЗ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреА рдЬреЛрдбрд╝реА рдЗрд╕реЗ рдкрд╛рд╕ рдХрд░ рджреА рдЬрд╛рддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдХрд╛рдВрдЯрд╛ рд╢реАрдЯ рдореЗрдВ рдкрд╣рд▓реЗ 2 рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ: рдкреНрд░реЛрдмреАрд▓рд┐рд╕реНрдЯ [0] рдФрд░ prob_list [1] )ред рдЗрд╕ рд╢реАрдЯ рдореЗрдВ рд╕рдВрднрд╛рд╡реНрдпрддрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдирд┐рдореНрди рдЖрдХреГрддрд┐ рдореЗрдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдкреАрдврд╝реА-рджрд░-рдкреАрдврд╝реА рдмрджрд▓рддреА рд░рд╣рддреА рд╣реИрдВ, рдЕрдЧрд░ рдЕрдЧрд▓реА рдкреАрдврд╝реА рдХреЗ рджреМрд░рд╛рди рдХреЛрдб рдХрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдЯреБрдХрдбрд╝рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣реА, рдиреЗрд╕реНрдЯреЗрдб рд▓рд┐рд╕реНрдЯ рдЪреЙрдЗрд╕_рд▓рд┐рд╕реНрдЯ рдХреЛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ "рдореАрдЯ" рд╕реЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдмреЗрд╕ рдСрдлрд╕реЗрдЯ__рд╕реЗрдЯрд╕реЗрдЯ = '' рдПрдХ рд╕реНрдерд╛рди рдкрд░ред

рдЙрд╕рдХреЗ рдмрд╛рдж рдореБрдЦреНрдп рдХрд╛рдВрдЯрд╛ рдЖрддрд╛ рд╣реИ, рдЬреЛ make_solution рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЛрд▓ рдЪрд░ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╕реЛрд▓ рддреАрди рдореВрд▓реНрдпреЛрдВ (0, -1.1) рдореЗрдВ рд╕реЗ рдПрдХ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдХрд┐рд╕ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ + [..]ред рдЙрддреНрддрд░ рдХреЛ рд╡рд░реНрддрдорд╛рди рдСрдлрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ 0 рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИ!), рдПрдХ "рдпрджрд┐" рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдерд┐рддрд┐ рдЬреЛ if_sub рдлрд╝рдВрдХреНрд╢рди (рдЬреЛ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА), рдЧрд╛рдбрд╝реА рд╡рд╛рдкрд╕реА, рдФрд░ рдПрдХреНрд╢рди рдмреНрд▓реЙрдХ рдХреА рдкреАрдврд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХреНрд╢рди_рд╕реНрдЯреНрд░рд╕реНрдЯ рдлрд╝рдВрдХреНрд╢рди (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

if ((a+b)==(b)):
   b=b
   a=b-a
   a=a

рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ: рдпрджрд┐ [..] + рдПрд▓рд┐рдл / рдФрд░-рдмреНрд▓реЙрдХ (рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк реи)ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдЧрд░ + [..] рд▓рд╛рдЗрди рд╡рд╣рд╛рдВ рдмрдирддреА рд╣реИ, рддреЛ рдПрд▓рд┐рдлрд╝ / рд╡рд░рдирд╛ рдХрд╛рдВрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрд▓рд┐рдл-рдЕрдиреНрдп рдмреНрд▓реЙрдХ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛ рдпрд╛ рдирд╣реАрдВ, рдЕрдЧрд░ рдПрд▓рд┐рдл рдпрд╛ рдЖрдИ- рдИрдИ (рдИ lif_else_block рдлрд╝рдВрдХреНрд╢рди ( рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред рдкрд░рд┐рдгрд╛рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

if ((a+b)==(a)):
   b=a+b
elif ((b//a)==(a)):
   None
elif ((a+b)<=(a)):
   a=b//a
else:
   if ((b)<=(a)):
      a=b-a
      b=a

if ((a)==(b-a)):
   b=b-a
   b=b
   a=b
   a=b-a
elif ((b)>(b-a))and((a)<(b-a)):
   if ((b//a)<(a)):
      b=b-a
   elif ((a+b)<(b-a))and((b)<(a+b))or((a+b)==(a+b)):
      b=b
      a=b-a
   elif ((a)>(b-a)):
      None

if ((b)<=(b-a))or((a+b)>=(b)):
   a=a
   b=b
elif ((b)<=(b)):
   if ((a)>=(b)):
      a=a+b
      a=b
elif ((b)>=(a)):
   a=b-a
   a=a
   if ((a)>=(b))and((b//a)==(a))and((b//a)!=(b)):
      b=b-a
else:
   a=b//a
   if ((b//a)<(b-a)):
      a=b
      a=b-a
   else:
      if ((a)==(b)):
         a=a
         a=b//a
         b=b
         b=a+b
         b=a
      else:
         None

рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ (рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк 3), рдЕрд░реНрдерд╛рддред рдлрд╛рд░реНрдо рдХреА рдПрдХ рд╢рд╛рдЦрд╛ рдХреЛ рдЬрдиреНрдо рджреЗрддрд╛ рд╣реИ:

if ((a)==(a)):
   if ((a+b)<(b)):

рдпрд╛
if ((b-a)<=(a)):
   a=a
   if ((b-a)==(b)):
      a=a
      a=a

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрджрд┐ рд░реЗрдЦрд╛ рдмрдирддреА рд╣реИ (рдЗрд╕реА рддрд░рд╣), рддреЛ рдПрдХ рдХрд╛рдВрдЯрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдЧреЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдмреНрд▓реЙрдХ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдСрдлрд╕реЗрдЯ рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдСрдлрд╕реЗрдЯ рдХреЛ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкреВрд░реА рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдФрд░ рдХреЛрдб рдХрд╛ рдЯреБрдХрдбрд╝рд╛ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдП, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдореВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдСрдлрд╕реЗрдЯ рдореЗрдВ рдПрдХ рдФрд░ рдПрд▓реАрдл-рдмреНрд▓реЙрдХ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реЛред рдпрд╣рд╛рдБ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рд╢рд╛рдЦрд╛ рдореЗрдВ рдФрд░ рдЕрдЧрд░ рдЕрдкрдиреЗ "рдореВрд▓" рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдСрдлрд╕реЗрдЯ рдкрд░ рдЦрдбрд╝реЗ рд╣реЛрдВред

if ((b-a)==(b)):

   if ((a)>(a+b)):
      if ((b)==(b-a)):
         b=b
         a=a
      elif ((b)>(b)):
         None
      else:
         None
         b=a
         b=b

рдЗрд╕рдХреЗ рдмрд╛рдж рдПрд▓реАрдл-рдФрд░-рдмреНрд▓реЙрдХ / рдПрдХреНрд╢рди рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ рдХрд╛рдВрдЯрд╛ рдЖрддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдмрд╛рдж рдПрдХреНрд╢рди рдмреНрд▓реЙрдХ рдпрд╛ рдПрд▓рд┐рдл-рдмреНрд▓реЙрдХ рдмреНрд▓реЙрдХ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдПрд▓реАрдл-рдФрд░ рдмреНрд▓реЙрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣рд╛рдВ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИ, рд╕реНрдХреАрдо 2 рдореЗрдВ, рдПрд▓рд┐рдл рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣рд╛рдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдХреЛ рдПрдХ рдХрджрдо рд╕реЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП + 3 рдХреА рдСрдлрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдПрд▓рд┐рдл-рдЕрдиреНрдпрдерд╛ рдмреНрд▓реЙрдХ рдХреЛ рд╡реЙрд▓_рдСрдлрд╕реЗрдЯ рдХреА рдСрдлрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдмреНрд▓реЙрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдмрд╛рдж рджрд╛рдИрдВ рдУрд░ рди рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдореВрд▓ рдХреЗ рд╕рд╛рде рд░рд╣рддрд╛ рд╣реИ рдореВрд▓ рдХреА рднрд░рдкрд╛рдИ рдЕрдЧрд░ред

рдкрд░рд┐рдгрд╛рдо рдХрд╛рдлреА рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: рд╕рд░рд▓ рд╕реЗ рдЬрдЯрд┐рд▓ рддрдХ, рд▓реЗрдХрд┐рди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рддреБрд░рдВрдд рд╕рдмрд╕реЗ рдЕрд▓рдВрдХреГрдд рд╢рд╛рдЦрд╛рдУрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреА рд╣реИред

if ((b-a)>(a+b))and((b)<(a+b)):
   if ((b-a)<=(a+b)):
      b=b//a
   elif ((b)!=(a)):
      a=b-a
else:
   if ((a+b)!=(b-a)):
      a=a

if ((b)<(b-a)):
   if ((a+b)==(b-a))and((b-a)<(a+b))and((b-a)==(a))and((a)>(b//a))or((a+b)>(b//a)):
      if ((b)>=(b-a)):
         a=b
         b=b
         if ((b)>(b)):
            a=a+b
            b=a+b
            a=a
            b=a+b
            b=b//a
            b=a
      else:
         b=a+b
         a=b
         a=b
   elif ((a)<(b-a)):
      a=b//a
      a=b-a

if ((a)>=(b-a))or((a)>=(a))or((b)<=(b)):
   a=a
   a=a
elif ((a)==(a))and((b)>(b-a)):
   a=b//a
   if ((a)<(b)):
      if ((a+b)==(b-a)):
         a=a
         if ((a)!=(b//a)):
            if ((b//a)!=(a))and((b-a)>=(b)):
               a=b
            else:
               None
               a=b//a
      else:
         b=b
         b=a+b
         if ((b-a)<=(b//a)):
            a=b
            a=b
            a=a+b
else:
   a=a+b
   if ((b-a)>=(a)):
      a=b
      if ((b-a)==(a))or((b)!=(b//a)):
         a=b-a
         a=a
         a=a
         a=b//a
         a=a+b
         b=a

рдЕрдм рдЖрдЗрдП elif_else_block рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦреЗрдВ , рдЬреЛ elif-else рдмреНрд▓реЙрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдФрд░ рдЗрд╕реЗ рдореБрдЦреНрдп if_gen рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред

def elif_else_block(ee_string, offset_koeff, exp_list, var_list, sign, if_str, choice_list,  fin_else_flag, prob_list):
    if ee_string=='elif':
        sol3 = 9
        #  
        wall_offset = offset_koeff
        #  elif  
        while sol3!=0 and fin_else_flag!=1:
            temp_str, offset_koeff, fin_else_flag, prob_list=elif_else('elif', wall_offset, exp_list, var_list, sign, if_str, choice_list, fin_else_flag, prob_list)
            if_str+=temp_str
            prob_list[6],prob_list[7],sol3 = make_solution(prob_list[6],prob_list[7])
        #  -   else   elif?
        prob_list[2],prob_list[3],sol = make_solution(prob_list[2],prob_list[3])
        if sol!=0:
            #  else,   
            fin_else_flag=1
            temp_str,offset_koeff, fin_else_flag, prob_list=elif_else('else', wall_offset, exp_list, var_list, sign, if_str, choice_list, fin_else_flag, prob_list)
            if_str+=temp_str
        return(if_str,offset_koeff, fin_else_flag, prob_list)
    #  else
    else: 
          temp_str,offset_koeff, fin_else_flag, prob_list=elif_else('else', offset_koeff, exp_list, var_list, sign, if_str, choice_list, fin_else_flag, prob_list)
          if_str+=temp_str
          return(if_str, offset_koeff, fin_else_flag, prob_list)

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рдПрдХ рдПрд▓рд┐рдл рдпрд╛ рдПрд▓рд┐рдл / рдЕрдиреНрдп рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╡рд╣ рдпрд╣ рддрдп рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рдХрд┐ рдмрд╕ рдФрд░ рдХреНрдпрд╛ рдбрд╛рд▓рд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрдирдкреБрдЯ рд╡реИрд▓реНрдпреВ e e_string рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ , рдЬреЛ рдЙрд╕реЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп if_gen рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрд▓рд┐рдл рдмреНрд▓реЙрдХ , рд▓реВрдк рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ , рдЬрд╣рд╛рдВ 2 рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ: рд╕рдВрднрд╛рд╡реНрдп - рдмреНрд▓реЙрдХ рдореЗрдВ рдПрд▓рд┐рдл рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрд╕ рдкрд░ fin_else_flag рдзреНрд╡рдЬ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ , рдФрд░ рдпрджрд┐ рдпрд╣ рдЕрдЪрд╛рдирдХ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд▓реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред

рдпрд╣ рдирд┐рд░реНрдгрдп рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛ рдПрд▓рд┐рдл рдмреНрд▓реЙрдХ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рд╣реИ, рдПрдХ рд╣реА рдореЗрдХ_ рд╕реЙрд▓реНрдпреВрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдХрд╛рдВрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдФрд░ рдпрджрд┐ рдЕрдиреНрдп рд╕рдВрд▓рдЧреНрди рд╣реИ, рддреЛ рддреБрд░рдВрдд fin_else_flag рдзреНрд╡рдЬ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИрдЬреЛ рдмреНрд▓реЙрдХ рдЬрдирд░реЗрд╢рди рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред Elif

рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдЬреБрдбрд╝рд╛рд╡ elif_else рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдПрд▓рд┐рдл рдмреНрд▓реЙрдХ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╕рдордп (рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╕рдордп рднреА), рдСрдлрд╕реЗрдЯ рд╡реЙрд▓_рдСрдлрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреНрд▓реЙрдХ рдХреЛ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдм elif_else рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ ред

<b>def elif_else(ee_string, offset_koeff, exp_list, var_list, sign, if_str, choice_list, fin_else_flag, prob_list):
    ee_str = ''
    #   else:  elif [..]:
    if ee_string=='else':
        ee_str += ' '*offset_koeff+ee_string + ':\n'
    elif ee_string=='elif':
        ee_str += ' '*offset_koeff+ee_string+' '+if_sub(exp_list, var_list, sign, prob_list) + ':\n'
    #   -None /  +
    prob_list[2],prob_list[3],sol = make_solution(prob_list[2],prob_list[3])
    if sol!=0:
        prob_list[6],prob_list[7],sol2 = make_solution(prob_list[6],prob_list[7])
        if sol2!=0:
            #  
            ee_str+=action_str_gen(choice_list,offset_koeff+3, prob_list)
        else:
            # None
            ee_str+=' '*(offset_koeff+3)+'None\n'
        return(ee_str, offset_koeff, fin_else_flag, prob_list)
    else:
        #   
        prob_list[6],prob_list[7],sol2 = make_solution(prob_list[6],prob_list[7])
        if sol2==0:
            #  
            ee_str+=action_str_gen(choice_list,offset_koeff+3, prob_list)
        #  if_gen
        if_str, offset_koeff,  fin_else_flag, prob_list = if_gen(exp_list, var_list, if_str, offset_koeff+3, fin_else_flag, prob_list)                 
        ee_str+=if_str
        return(ee_str, offset_koeff, fin_else_flag, prob_list)

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдПрд▓реАрдлрд╝ рдХреЗ рдЧрдарди рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдпрд╛ рдлрд┐рд░ рд╕реНрд╡рдпрдВ рд▓рд╛рдЗрди, рд╕рд╛рде рд╣реА рдмрд╛рдж рдХреА рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдпрд╛ рдЗрди рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрд╛рдж рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрд╣ ee_string рд╡реИрд░рд┐рдПрдмрд▓ рднреА рд▓реЗрддрд╛ рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рдпрд╛ рддреЛ рдПрд▓рд┐рдл рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдлрд┐рд░ рдЕрдиреНрдп, рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдПрдХ рдХрд╛рдВрдЯрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реЛрдЧрд╛: (рдПрдХреНрд╢рди рдмреНрд▓реЙрдХ рдпрд╛ рдХреЛрдИ рдирд╣реАрдВ), рдпрд╛ (рдПрдХреНрд╢рди рдмреНрд▓реЙрдХ рдпрд╛ рдПрдХреНрд╢рди рдмреНрд▓реЙрдХ + рд░рд┐рдХрд░реНрд╕рди)ред рдЗрд╕ рдХрд╛рдВрдЯреЗ рдХреЗ рдЕрдВрджрд░, рджреЛ рдЙрдк-рдХрд╛рдВрдЯрд╛ рдореЗрдВ рдХреНрд░рдорд╢рдГ рдПрдХ рд╡рд┐рднрд╛рдЬрди рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдореЗрдХ_рд╕реБрд▓реЗрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЬрдм рдпрд╣ рдХреЛрдб рдореЗрдВ рд╣реЛрддрд╛ рд╣реИif sol!=0, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдЬрд╛рдирдмреВрдЭрдХрд░ рдХреЛрдб рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рджреВрд╕рд░реЗ рдкрд░ рдПрдХ рдлрд╛рдпрджрд╛ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рд╕реЛрд▓! = 0, рддреЛ рдпрд╣ -1 рдпрд╛ 1 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдПрдХ рдФрд░ рдЯреБрдХрдбрд╝рд╛ рдХрдо рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдХреЗрд╡рд▓ рдЬрдм рд╕реЛрд▓ == 0)ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, elif_else_block рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬрд╣рд╛рдВ рд╣рдореЗрдВ elif рдФрд░ рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕рдВрднрд╛рд╡рдирд╛ рджреЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмреНрд▓реЙрдХ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдПрд▓рд┐рдлреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд▓рд╛рднрджрд╛рдпрдХ рд╣реИред рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, elif_else рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ , рд╣рдо рд╡рд┐рдХрд▓реНрдк рдХреЛ рдПрдХ рд▓рд╛рдн рджреЗрддреЗ рд╣реИрдВ рдЬрдм рдПрдХ рдПрдХреНрд╢рди рдмреНрд▓реЙрдХ рдпрд╛ рдХреЛрдИ рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИ рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд░рд┐рдХрд░реНрд╕рд┐рдпрди рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ - рдЕрдиреНрдпрдерд╛ рд╢рд╛рдЦрд╛рдПрдВ рдмрд╣реБрдд рд╣реА рдЕрд╢реЛрднрдиреАрдп рдЖрдХрд╛рд░ рддрдХ рдмрдврд╝ рд╕рдХрддреА рд╣реИрдВред

рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛, рдЗрд╕ рд╕реНрддрд░ рдкрд░ рд╡реЗ рдПрдХ рдирд┐рд░реНрдгрд╛рдпрдХ рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдкреЗрд╢ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдВрддрд┐рдо рдЙрддреНрдкрдиреНрди рдХреЛрдб рдХреНрдпрд╛ рджрд┐рдЦреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рд╡реЗ рдЬрдирд░реЗрдЯрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред рдПрдХреНрд╢рди_рд╕реНрдЯреНрд░рд╕реНрдЯ

рдПрдХреНрд╢рди рдмреНрд▓реЙрдХ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдлрд╝рдВрдХреНрд╢рди ред

def action_str_gen(choice_list, offset_koeff, prob_list):
    sol = 9
    curr_offset = ' '*offset_koeff
    act_str = ''
    while sol!=0:
        act_str+= curr_offset+rand(rand(choice_list[1]))+'='+rand(rand(choice_list))+'\n'
        prob_list[6],prob_list[7],sol = make_solution(prob_list[6],prob_list[7])
    return(act_str)

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рдиреЗрд╕реНрдЯреЗрдб рд▓рд┐рд╕реНрдЯ choise_list рд╕реЗ, рдЬреЛ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдореЗрдВ v ar_list (рдЪрд░реЛрдВ рдХреА рд╕реВрдЪреА) рдФрд░ exp_list (рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА) рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЗрд╕ рдлреЙрд░реНрдо рдХреА рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдиреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: a = a + b рдпрд╛ b = b ред рдЙрдиред рдпрд╛ рддреЛ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЪрд░ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪрд░ (рд╕реНрд╡рдпрдВ рд╕рд╣рд┐рдд) рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рд░реИрдВрдб рдлрд╝рдВрдХреНрд╢рди рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд╕реВрдЪреА рд╕реЗ рдПрдХ рддрддреНрд╡ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░рд╛рдХреНрд╖рд╕реА рддрд╛рд░реЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╣рд╛рдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

def rand(t_list):
    return(t_list[random.randint(0,len(t_list)-1)])

рд╢рд░реНрддреЛрдВ рдХреЗ рд▓рд┐рдП if_sub рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреАрдврд╝реА рдлрд╝рдВрдХреНрд╢рди рдмрдбрд╝рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

def if_sub(exp_list, var_list, sign, prob_list):
    sub_str = ''
    sol = 9
    choice_list = [exp_list, var_list]
    flag = 0
    while sol!=0:
        prob_list[6],prob_list[7],sol = make_solution(prob_list[6],prob_list[7])
        sub_str+='(('+rand(rand(choice_list))+')'+rand(sign2)+'('+rand(rand(choice_list))+'))'
        if flag == 1 and sol==1:
            sub_str+=')'
            flag=0
        or_and_exp = or_and(prob_list)
        if len(or_and_exp):
            sub_str+=or_and_exp
        else:
            break
        prob_list[6],prob_list[7],sol2 = make_solution(prob_list[6],prob_list[7])
        if sol2 == 1 and (sub_str[-1]=='D' or sub_str[-1]=='R') and flag == 0:
            sub_str+='('
            flag = 1
    
    if sub_str[-1] == '(':
        if sub_str[-2]=='d':
           sub_str=sub_str[0:-4]
        elif sub_str[-2]=='r':
             sub_str=sub_str[0:-3]
        else:
            sub_str=sub_str[0:-1]
    elif sub_str[-1]=='d':
         sub_str=sub_str[0:-3]
    elif sub_str[-1]=='r':
         sub_str=sub_str[0:-2]
    else:
         None
    if flag == 1:
        sub_str+=')'
        return(sub_str)
    else:
        return(sub_str)

рдпрд╣ рдкреНрд░рдХрд╛рд░ рд╕реЗ рднрд╛рд╡ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ: ((рдП)> = (рдмреАрдП)) рдпрд╛ (рдП)> = (рдП)) рдпрд╛ ((рдмреА) <= (рдмреА)) ред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ рджреЛрдиреЛрдВ рддрд░рдл рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░, рд╕рд╛рде рд╣реА рд╕рд╛рде рднрд╛рд╡ рдпрд╛ рд╕рдореВрд╣ рдХреЗ рд░реВрдк рдореЗрдВ рдЦрдбрд╝реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рддрд╛рд░реНрдХрд┐рдХ рдСрдкрд░реЗрдЯрд░реЛрдВ рдпрд╛ рдФрд░ рдФрд░ рднреА рдпрд╣рд╛рдБ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЪреБрдиреЗ рдЧрдП рд╣реИрдВ or_and_exp рд╕рдорд╛рд░реЛрд╣ ред

def or_and(prob_list):
    prob_list[8],prob_list[9],sol = make_solution(prob_list[8],prob_list[9])
    if sol==-1:
        return('and')
    elif sol==1:
        return('or')
    else:
        return('')

рдмрд╛рдХреА if_sub рдлрд╝рдВрдХреНрд╢рди рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреВрдВрдЫреЛрдВ рдХреЛ рдХрд╛рдЯ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдХреЛрд╖реНрдардХ рдХреЛ рдмрдВрдж рдХрд░рдХреЗ, рдЗрди рдиреГрддреНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЗрди рдиреГрддреНрдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдЕрдХреНрд╖рдо рд╣реИред

рдЕрдЪреНрдЫрд╛ рдпрд╣реА рд╕рдм рд╣реИред рдЖрдк рдЬрдирд░реЗрдЯрд░ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

var_list = ['a','b']
exp_list = ['a+b','b-a', 'b//a']
sign = ['+','-','/','*','//']
sign2 = ['>','<','==','>=','<=','!=']
a = 3
b = 2       
prob_list = [0.5 for y in range(0,10)]      
while True:
     if_str = ''
     if_str, offset_koeff, fin_else_flag, prob_list = if_gen(exp_list, var_list, if_str, 0,0, prob_list)
     try:
         exec(compile(if_str,'gen','exec'))
         print(if_str)
         input()
         
     except ZeroDivisionError:
         None
     except:
         print('error')
         print(if_str)
         input()

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрдирдкреБрдЯ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░реЛрдмреНрд▓реЗрдмрд┐рд▓рд┐рдЯреАрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЛрдмрд╛рдЗрдЯрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ , рдлрд┐рд░ рдПрдХ рдЕрдирдВрдд рд▓реВрдк рдореЗрдВ, рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдХреЛ if_gen рдХрд╣рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдЬрдирд░реЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЕрд▓рдЧ рд╕реЗ ZeroDivisionError рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рд╢реВрдиреНрдп рд╕реЗ рд╡рд┐рднрд╛рдЬрди рдмрд╣реБрдд рдЖрдо рд╣реИред рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж, рдЕрдЧрд▓реА рдкреАрдврд╝реА рдХреЛ рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП Enter рджрдмрд╛рдПрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдХреНрд╕рд░ рд╡реЗ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рд╢рд╛рдЦрд╛рдУрдВ рд╡рд╛рд▓реЗ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд╣реБрдд рд╢рд╛рдЦрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЦреИрд░, рдЖрдпрд╛рдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╢реБрд░реБрдЖрдд рдореЗрдВ рднреА рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╣рд╛рде рд╕реЗ рд╕рдм рдХреБрдЫ рдЗрдХрдЯреНрдард╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рдирд╣реАрдВ рд╣реИ рдХреЗ рд▓рд┐рдП), рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Github (рдлрд╝рд╛рдЗрд▓ if_gen.py)ред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдЬреЛ рдХреЛрдб рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдерд╛, рдЙрд╕рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рдкреАрдврд╝рд┐рдпреЛрдВ рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрдмрдХрд┐ рдЗрд╕рдиреЗ рдЗрдл-рдЗрд▓реАрдл-рдФрд░ рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдкреВрд░реЗ рдкреИрд▓реЗрдЯ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдВрдд рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдПрдХ рдмрд╛рд░, рдЧрд▓рддреА рд╕реЗ, рдореИрдВрдиреЗ рдХреЛрдб рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рджреА рдФрд░ рдореБрдЭреЗ 52,000 (!) рд▓рд╛рдЗрдиреЗрдВ рдорд┐рд▓реАрдВ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ COMP 30 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдирд┐рд▓рдВрдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЛ рднреА рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╕рдВрднрд╡рддрдГ, рдореБрдЦреНрдп рд╕рдорд╛рд░реЛрд╣ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рд░рдЪрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╣реАрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд▓рдЧрднрдЧ 250 рдкреАрдврд╝реА рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдХрд╛рдлреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕ рдХреЛрдб рдХреЛ рдХрднреА рднреА рдЖрддреНрдордирд┐рд░реНрднрд░ рдирд╣реАрдВ рдорд╛рдирд╛ рд╣реИ - рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рдбрд┐рдЬрд┐рдЯрд▓ рдЬреАрд╡ рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реИ рдФрд░ рд╢реЛрдз рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рд╢рд╛рдпрдж рд╣реА рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реЛред рдЙрд╕реА рд╕рдордп, рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд╣реАрдВ рд╣реВрдВ, рдФрд░ рдореИрдВ рд╕рднреА рд╕реЗ рд░реЛрдЯреА рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рдХреВ рдХреЗ рд╕рд╛рде рд░реЛрдЯреА рдХрд╛рдЯрдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдХреБрдЫ рдФрд░ рдирд╣реАрдВред

рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рджреВрд╕рд░реЗ рдореЙрдбреНрдпреВрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдЕрдиреБрднрд╡ рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЧрдарди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛ред рдпрд╣ рд╡рд┐рд╖рдп рдЕрдЧрд░ рдЬрдирд░реЗрдЯрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬреИрд╕реЗ рд╣реА рдореЗрд░реЗ рдкрд╛рд╕ рд╣реЛрдЧрд╛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред

All Articles