From bf7cbf736a322e9987d8d5e00c469e873d5a22f7 Mon Sep 17 00:00:00 2001 From: wbrawner Date: Fri, 19 Jun 2015 21:26:35 -0500 Subject: [PATCH] Pre-alpha code for the workout generator. Currently has a basic list of exercises organized by muscle group and supports workout routines for up to a 2 day per week split. --- WorkoutGenerator.py | 153 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 WorkoutGenerator.py diff --git a/WorkoutGenerator.py b/WorkoutGenerator.py new file mode 100644 index 0000000..6a835d9 --- /dev/null +++ b/WorkoutGenerator.py @@ -0,0 +1,153 @@ +from random import sample + +class Muscle_Group(object): + exercises = [] + +class Chest(Muscle_Group): + exercises = ["Push Ups","Barbell Chest Press", "Dumbbell Chest Press","Dumbbell Flies","Cable Crossovers","Inclined Dumbbell Chest Press","Inclined Barbell Chest Press","Declined Dumbbell Chest Press","Declined Barbell Chest Press"] + +class Back(Muscle_Group): + exercises = ["Pull Ups","Barbell Bent-Over Row","Seated Cable Row","Dumbbell Bent-Over Row","Seated Lat-Pulldown"] + +class Legs(Muscle_Group): + exercises = ["Squats", "Deadlifts", "Leg Press", "Quadriceps Extensions", "Hamstring Curls"] + +class Lower_Legs(Muscle_Group): + exercises = ["Dumbbell Calf Raises", "Smith Press Calf Raises", "Leg Press Calf Raises"] + +class Biceps(Muscle_Group): + exercises = ["Dumbbell Preacher Curls", "Dumbbell Hammer Curls", "Barbell Preacher Curls", "Cable Hammer Curls", "Cable Preacher Curls"] + +class Triceps(Muscle_Group): + exercises = ["Overhead Dumbbell Triceps Extensions", "Overhead Cable Triceps Extensions", "Narrow-Grip Barbell Bench Press", "Narrow-Grip Dumbbell Bench Press", "Weighted Dips", "Cable Triceps Pull-Down"] + +class Shoulders(Muscle_Group): + exercises = ["Dumbbell Lateral Flies", "Dumbbell Shoulder Press", "Barbell Shoulder Press", "Cable Reverse Crossover"] + +class Forearms(Muscle_Group): + exercises = ["Barbell Wrist Flexion", "Barbell Wrist Extension", "Weighted String Flexion", "Weighted String Extension"] + +class Abs(Muscle_Group): + exercises = ["Crunches", "Dead Bugs", "Hanging Leg Lifts", "Windshield Wipers", "Planks", "Flutter Kicks"] + +class Generator(object): + template = '| {:^50} | {:^7} | {:^6} | {:^12} | {:^12} |' + days = input("How many days would you like to workout this week?\n>>> ") + while True: + try: + days = int(days) + except ValueError: + print ("Oops, try entering a number, like 3.") + days = input("How many days would you like to workout this week?\n>>> ") + else: + break + if days == 1: + print("-" * 103) + print('| {:^99} |'.format("You should workout at least 2-3 times a week, but if you can only manage one day this week,")) + print('| {:^99} |'.format("here's your routine:")) + print("|", "-" * 99, "|") + chest_exercises = sample(Chest.exercises, 1) + back_exercises = sample(Back.exercises, 1) + legs_exercises = sample(Legs.exercises, 1) + lower_legs_exercises = sample(Lower_Legs.exercises, 1) + biceps_exercises = sample(Biceps.exercises, 1) + triceps_exercises = sample(Triceps.exercises, 1) + shoulders_exercises = sample(Shoulders.exercises, 1) + forearms_exercises = sample(Forearms.exercises, 1) + abs_exercises = sample(Abs.exercises, 1) + print (template.format("Exercise", "Weight", "Sets", "Target Reps", "Actual Reps")) + print("|", "-" * 99, "|") + for item in chest_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in back_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in legs_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in lower_legs_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in biceps_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in triceps_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in shoulders_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in forearms_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in abs_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + print("|", "-" * 99, "|") + print('| {:^99} |'.format("Complete this routine for 2-3 weeks and then come generate a new one!")) + print("-" * 103) + elif days == 2: + print("-" * 103) + print('| {:^99} |'.format("Upper Body Day")) + print("|", "-" * 99, "|") + chest_exercises = sample(Chest.exercises, 2) + back_exercises = sample(Back.exercises, 2) + biceps_exercises = sample(Biceps.exercises, 1) + triceps_exercises = sample(Triceps.exercises, 1) + shoulders_exercises = sample(Shoulders.exercises, 1) + forearms_exercises = sample(Forearms.exercises, 1) + print (template.format("Exercise", "Weight", "Sets", "Target Reps", "Actual Reps")) + print("|", "-" * 99, "|") + for item in chest_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in back_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in biceps_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in triceps_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in shoulders_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in forearms_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + print("|", "-" * 99, "|") + print('| {:^99} |'.format("Lower Body Day")) + print("|", "-" * 99, "|") + legs_exercises = sample(Legs.exercises, 3) + lower_legs_exercises = sample(Lower_Legs.exercises, 2) + abs_exercises = sample(Abs.exercises, 2) + print (template.format("Exercise", "Weight", "Sets", "Target Reps", "Actual Reps")) + print("|", "-" * 99, "|") + for item in legs_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in lower_legs_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in abs_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + print("|", "-" * 99, "|") + print('| {:^99} |'.format("Complete this routine for 2-3 weeks and then come generate a new one!")) + print("-" * 103) + elif days == 3: + print("-" * 103) + print('| {:^99} |'.format("Chest Day")) + print("|", "-" * 99, "|") + chest_exercises = sample(Chest.exercises, 1) + triceps_exercises = sample(Triceps.exercises, 1) + shoulders_exercises = sample(Shoulders.exercises, 1) + print (template.format("Exercise", "Weight", "Sets", "Target Reps", "Actual Reps")) + print("|", "-" * 99, "|") + for item in chest_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in triceps_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in shoulders_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + print("|", "-" * 99, "|") + print('| {:^99} |'.format("Back Day")) + print("|", "-" * 99, "|") + back_exercises = sample(Back.exercises, 2) + biceps_exercises = sample(Biceps.exercises, 1) + forearms_exercises = sample(Forearms.exercises, 1) + print (template.format("Exercise", "Weight", "Sets", "Target Reps", "Actual Reps")) + print("|", "-" * 99, "|") + for item in back_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in biceps_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + for item in forearms_exercises: + print (template.format(item, '_____', '4', '8-12', '_____')) + elif days > 6: + print ("You should take at least one day per week to rest.") + pass