Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
delta5
#!/usr/bin/env python # -*- coding: utf-8 -*- # #delta5.py from math import sqrt as sqrt import ast, fractions def square_equation(a, b, c): delta=b**2-4*a*c if delta<0: return () elif delta==0: return (-b)/(2*a), #comma means "tuple containing 1 element" else: sqrt_delta=sqrt(delta) return ((-b-sqrt_delta) / (2*a), (-b+sqrt_delta) / (2*a)) # http://stackoverflow.com/a/25952130/3821804 import ast def literal_eval_with_callables(node_or_string, safe_callables=None): if safe_callables is None: safe_callables = {} if isinstance(node_or_string, str): node_or_string = ast.parse(node_or_string, mode='eval') if isinstance(node_or_string, ast.Expression): node_or_string = node_or_string.body try: # Python 3.4 and up ast.NameConstant const_test = lambda n: isinstance(n, ast.NameConstant) const_extract = lambda n: n.value except AttributeError: # Everything before _const_names = {'None': None, 'True': True, 'False': False} const_test = lambda n: isinstance(n, ast.Name) and n.id in _const_names const_extract = lambda n: _const_names[n.id] def _convert(node): if isinstance(node, (ast.Str, ast.Bytes)): return node.s elif isinstance(node, ast.Num): return node.n elif isinstance(node, ast.Tuple): return tuple(map(_convert, node.elts)) elif isinstance(node, ast.List): return list(map(_convert, node.elts)) elif isinstance(node, ast.Dict): return dict((_convert(k), _convert(v)) for k, v in zip(node.keys, node.values)) elif const_test(node): return const_extract(node) elif isinstance(node, ast.UnaryOp) and \ isinstance(node.op, (ast.UAdd, ast.USub)) and \ isinstance(node.operand, (ast.Num, ast.UnaryOp, ast.BinOp)): operand = _convert(node.operand) if isinstance(node.op, ast.UAdd): return + operand else: return - operand elif isinstance(node, ast.BinOp) and \ isinstance(node.op, (ast.Add, ast.Sub)) and \ isinstance(node.right, (ast.Num, ast.UnaryOp, ast.BinOp)) and \ isinstance(node.right.n, complex) and \ isinstance(node.left, (ast.Num, ast.UnaryOp, astBinOp)): left = _convert(node.left) right = _convert(node.right) if isinstance(node.op, ast.Add): return left + right else: return left - right elif isinstance(node, ast.Call) and \ isinstance(node.func, ast.Name) and \ node.func.id in safe_callables: return safe_callables[node.func.id]( *[_convert(n) for n in node.args], **{kw.arg: _convert(kw.value) for kw in node.keywords}) raise ValueError('malformed string') return _convert(node_or_string) if __name__=="__main__": while True: try: print(square_equation(*literal_eval_with_callables(input(), {'Fraction':fractions.Fraction}))) except EOFError: break except Exception as e: print(e)
run
|
edit
|
history
|
help
0
Ghost 👻👻👻👻👻 Game 👻👻👻👻👻👻
N. Py
Юра и заселение
cod
prime_nonprime_count.py
PythonClosure2
Idd or even
Dont know, Dont care
Change Binary into Decimal
Array