рдЧреБрдЗрдбреЛ рд╡реИрди рд░реЛрд╕реБрдо
рдирдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрдХрд╛рд▓рд╛, рд░рд╕реНрдЯ рдФрд░ рдПрдл# рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП "рдореИрдЪ" рдСрдкрд░реЗрдЯрд░ рдХреА рддрд░рд╣ рд╣реИ, рдЬреЛ "рдХреЗрд╕" рдСрдкрд░реЗрдЯрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмреНрд▓реЙрдХ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдкреИрдЯрд░реНрди рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред рд╕реА, рдЬрд╛рд╡рд╛ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрдкрд▓рдмреНрдз "рд╕реНрд╡рд┐рдЪ" рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд, "рдореИрдЪ"-рдЖрдзрд╛рд░рд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдмрд╣реБрдд рдХреБрдЫ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ
def http_error(рд╕реНрдерд┐рддрд┐):
рдореИрдЪ рдХреА рд╕реНрдерд┐рддрд┐:
рдорд╛рдорд▓реЗ 400:
рд╡рд╛рдкрд╕реА "рдЧрд▓рдд рдЕрдиреБрд░реЛрдз"
рдХреЗрд╕ 401|403|404:
рд╡рд╛рдкрд╕реА "рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ"
рдорд╛рдорд▓реЗ 418:
рд╡рд╛рдкрд╕реА "рдореИрдВ рдПрдХ рдЪрд╛рдпрджрд╛рдиреА рд╣реВрдБ"
рдорд╛рдорд▓рд╛_:
рд╡рд╛рдкрд╕реА "рдХреБрдЫ рдФрд░"
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдореМрдЬреВрджрд╛ рдорд╛рдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдмрд╛рдЗрдВрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕, рдЯреБрдкрд▓реНрд╕, рд╕реВрдЪрд┐рдпреЛрдВ рдФрд░ рдордирдорд╛рдиреЗ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЛ рдЕрдирдкреИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рдиреЗрд╕реНрдЯреЗрдб рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд "if" рд╢рд░реНрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ, рдорд╛рд╕реНрдХ ("[x, y, *rest]"), рдХреБрдВрдЬреА/рдореВрд▓реНрдп рдореИрдкрд┐рдВрдЧ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, {"рдмреИрдВрдбрд╡рд┐рдбреНрде": рдмреА, "рд╡рд┐рд▓рдВрдмрддрд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ тАЭ: l}"рдмреИрдВрдбрд╡рд┐рдбреНрде" рдФрд░ "рд╡рд┐рд▓рдВрдмрддрд╛" рдорд╛рди рдФрд░ рд╢рдмреНрджрдХреЛрд╢ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП), рд╕рдмрдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕ рдирд┐рдХрд╛рд▓реЗрдВ (":=" рдСрдкрд░реЗрдЯрд░), рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдирд╛рдорд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ, "__match__()" рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд┐рд▓рд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдбреЗрдЯрд╛рдХреНрд▓рд╛рд╕ рд╕реЗ рдбреЗрдЯрд╛рдХреНрд▓рд╛рд╕ рдЖрдпрд╛рдд рдХрд░реЗрдВ
@рдбреЗрдЯрд╛рдХреНрд▓рд╛рд╕
рдХрдХреНрд╖рд╛ рдмрд┐рдВрджреБ:
рдПрдХреНрд╕:рдЗрдВрдЯ
y:int
def рдХрд╣рд╛рдБ рд╣реИ(рдмрд┐рдВрджреБ):
рдореИрдЪ рдкреЙрдЗрдВрдЯ:
рдХреЗрд╕ рдкреЙрдЗрдВрдЯ(0, 0):
рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ ("рдЙрддреНрдкрддреНрддрд┐")
рдХреЗрд╕ рдкреЙрдЗрдВрдЯ(0, y):
рдкреНрд░рд┐рдВрдЯ(f"Y={y}")
рдХреЗрд╕ рдкреЙрдЗрдВрдЯ(x, 0):
рдкреНрд░рд┐рдВрдЯ(f"X={x}")
рдХреЗрд╕ рдкреНрд╡рд╛рдЗрдВрдЯ():
рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ ("рдХрд╣реАрдВ рдФрд░")
рдорд╛рдорд▓рд╛_:
рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ ("рдХреЛрдИ рдмрд┐рдВрджреБ рдирд╣реАрдВ")
рдореИрдЪ рдкреЙрдЗрдВрдЯ:
рдХреЗрд╕ рдкреЙрдЗрдВрдЯ(x, y) рдпрджрд┐ x == y:
рдкреНрд░рд┐рдВрдЯ(f"Y=X at {x}")
рдХреЗрд╕ рдкреЙрдЗрдВрдЯ(x, y):
рдкреНрд░рд┐рдВрдЯ(f"рд╡рд┐рдХрд░реНрдг рдкрд░ рдирд╣реАрдВ")
рд▓рд╛рд▓, рд╣рд░рд╛, рдиреАрд▓рд╛ = 0, 1, 2
рд░рдВрдЧ рдорд┐рд▓рд╛рдУ:
рдорд╛рдорд▓рд╛ .рд▓рд╛рд▓:
рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ ("рдореБрдЭреЗ рд▓рд╛рд▓ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ!")
рдорд╛рдорд▓рд╛ .рд╣рд░рд╛:
рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ ("рдШрд╛рд╕ рд╣рд░реА рд╣реИ")
рдорд╛рдорд▓рд╛ .BLU
E:
рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ ("рдореБрдЭреЗ рдЙрджрд╛рд╕реА рдорд╣рд╕реВрд╕ рд╣реЛ рд░рд╣реА рд╣реИ :(")
рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдЯ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рд╕реНрд░реЛрдд: opennet.ru