55 lines
1.7 KiB
Python
Executable File
55 lines
1.7 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
Creation of templates for the problems of Project Euler
|
|
"""
|
|
|
|
from argparse import ArgumentParser
|
|
import datetime
|
|
import inspect
|
|
|
|
|
|
def create_problem():
|
|
with open(Problem, "w+") as f:
|
|
template = inspect.cleandoc(f'''#!/usr/bin/env python3
|
|
"""
|
|
Created on {today}
|
|
|
|
@author: David Doblas Jiménez
|
|
@email: daviddoji@pm.me
|
|
|
|
Solution for problem {args['problem']} of Project Euler
|
|
https://projecteuler.net/problem={args['problem']}
|
|
"""
|
|
|
|
from utils import timeit
|
|
|
|
|
|
@timeit("Problem {args['problem']}")
|
|
def compute():
|
|
"""
|
|
# Statement
|
|
"""
|
|
|
|
# Your code goes here
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
print(f"Result for Problem {args['problem']}: {{compute()}}")
|
|
''')
|
|
|
|
f.write(template)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
today = datetime.datetime.now().strftime("%d %b %Y")
|
|
parser = ArgumentParser(description=__doc__)
|
|
# Add your arguments here
|
|
parser.add_argument("-p", "--problem",
|
|
help="number of the problem to solve")
|
|
args = vars(parser.parse_args())
|
|
Problem = f"Problem{(args['problem']):0>3}.py"
|
|
create_problem()
|
|
|