見出し画像

筋力強化のためのトレーニングプログラム提示コード(ピリオダイゼーション②)

 今回は,ピリオダイゼーションの考えを基に,スクワット,ベンチプレス,デッドリフト,オーバーヘッドプレス(OHP)の3種目を鍛えるトレーニングプログラム提示コードを紹介します.

 以前に作成したトレーニングプログラム提示コードの改良版になります.

 前回のプログラムに付け加えた点としては,
①・・・OHPのトレーニングプログラムを作成したこと
②・・・筋力強化期間(strength development期)にて,総負荷量をグラフにより視覚的に図示すること

です.

 トレーニングの内容は,
day1:スクワット+ベンチプレス
day2:OHP
day3:デッドリフト+Pausedデッドリフト
day4:スクワット+Pausedスクワット
day5:ベンチプレス+Narrowベンチプレス+OHP
となっています.
1week当たりに5日のトレーニングをするプランを立てました.

 1. 最大重量の設定

#Max重量,スクワット(SQ),ベンチプレス(BN),デッドリフト(DL),オーバーヘッドプレス(OHP)

SQ=220
BN=150
DL=235
OHP=80

まずは,それぞれの種目における最大重量の数値を入力します.

 今回は,
スクワット(SQ):220 kg
ベンチプレス(BN):150 kg
デッドリフト(DL):235 kg
オーバーヘッドプレス(OHP):80 kg
を例えとして入力しています.

2. トレーニングサイクルの設定

#ライブラリーのインポート
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

#トレーニングに関する情報を入力
#トレーニング週_総数
week=10

#_adaptationの期間
week_ad=2
ins_ad=0.6 #初期の運動強度
k_ad=0.025 #週ごとに増やしたい強度(Ex. k=0.025の場合,1週間ごとに2.5%ずつ強度が上がる)
r_ad=8 #レップ数の設定
s_ad=2 #セット数の設定


#Strehngth developmentの期間
week_st=4
ins_st=0.75 #初期の運動強度
k_st=0.025 #週ごとに増やしたい強度(Ex. k=0.025の場合,1週間ごとに2.5%ずつ強度が上がる)
r_st=4 #レップ数の設定
s_st=5 #セット数の設定

#Maximum muscle strengthの期間
week_ma=2
ins_ma=0.875 #初期の運動強度
k_ma=0.025 #週ごとに増やしたい強度(Ex. k=0.025の場合,1週間ごとに2.5%ずつ強度が上がる)
r_ma=2 #レップ数の設定
s_ma=3 #セット数の設定


#deloadの期間
week_de=2
ins_de=0.6 #初期の運動強度
k_de=0.025 #週ごとに増やしたい強度(Ex. k=0.025の場合,1週間ごとに2.5%ずつ強度が上がる)
r_de=6 #レップ数の設定
s_de=2 #セット数の設定

 ここでは,トレーニングサイクルに関する情報を入力します.とその前に,グラフの図示などに必要なライブラリーをインポートしておきます.

 トレーニング週の総数であるweekにはトレーニング全体の期間を入力します(今回は例えとして10週のプログラミングを組むために,week=10としています).

 トレーニング動作に適応する期間(adaptation期),筋力強化期間(strength development期),最大筋力強化期間(Maximum muscle strength期),回復期間(deload期)のそれぞれの期間において, 初期のトレーニング強度の設定,レップ数の設定,セット数の設定を入力します.

 今回の例としては,adaptation期は2週間とし(week_ad=2),初期のトレーニング強度を最大重量の60%(ins_ad=0.6),レップ数を8回(r_ad=8),セット数を2セット(s_ad=2)としています.また,週ごとに強度を最大重量の2.5%(k_ad=0.025)ずつ増加させる設定をしています.週ごとに強度を上げたくないときには,k_ad=0を入力します.

 同じように,筋力強化期間(strength development期),最大筋力強化期間(Maximum muscle strength期),回復期間(deload期)でも 初期のトレーニング強度の設定,週ごとに増加させたい強度,レップ数の設定,セット数の設定を行います.

3. トレーニングプログラムの提示

 これ以降は,特に操作することはありません.「Shift+Enter」を押して,↓のコードを実行します.自動的に,トレーニングプログラムが提示されます.

#トレーニングメニューの提示_adaptation
print('_________________________________________________________________')
week_1 = 0

for i in range(1, week_ad+1):
   week_1 += 1
   ins_ad += k_ad 
   
   print('week'+str(week_1)+'--adaptation期')
   
   #day1

   SQd1=round(SQ*(ins_ad-k_ad))
   SQr1=r_ad
   SQs1=s_ad
   SQd1t=SQd1*SQr1*SQs1 #総負荷量
   
   BNd1=round(BN*(ins_ad-k_ad))
   BNr1=r_ad
   BNs1=s_ad+1
   BNd1t=BNd1*BNr1*BNs1 #総負荷量

   print('day1')
   print('SQ:{}kg Single'.format(SQd1,SQr1,SQs1))
   print('SQ:{}kg×Reps:{}×Sets:{}'.format(SQd1,SQr1,SQs1))
   print('BN:{}kg×Reps:{}×Sets:{}'.format(BNd1,BNr1,BNs1))
   print('スクワットの総負荷量:{}kg, ベンチプレスの総負荷量:{}kg'.format(SQd1t,BNd1t))
   
   
    #day2
   OHPd1=round(OHP*(ins_ad-k_ad))
   OHPr1=r_ad
   OHPs1=s_ad
   OHPd1t=OHPd1*OHPr1*OHPs1 #総負荷量
   print('day2')
   print('OHP:{}kg×Reps:{}×Sets:{}'.format(OHPd1,OHPr1,OHPs1))
   print('OHPの総負荷量:{}kg'.format(OHPd1t))
   
   #day3
   DLd1=round(DL*(ins_ad-k_ad))
   DLr1=r_ad
   DLs1=s_ad
   DLd1t=DLd1*DLr1*DLs1 #総負荷量
   PDLd1=round(DL*((ins_ad-k_ad)-0.2))
   PDLr1=r_ad-2
   PDLs1=s_ad-1
   PDLd1t=PDLd1*PDLr1*PDLs1 #総負荷量    
   print('day3')
   print('DL:{}kg×Reps:{}×Sets:{}'.format(DLd1,DLr1,DLs1))
   print('Paused DL:{}kg×Reps:{}×Sets:{}'.format(PDLd1,PDLr1,PDLs1))
   print('OHP:{}kg×Reps:{}×Sets:{}'.format(OHPd1,OHPr1,OHPs1))
   print('デッドリフトの総負荷量:{}kg, Pausedデッドリフトの総負荷量:{}kg,OHPの総負荷量:{}kg'.format(DLd1t,PDLd1t,OHPd1t))
   
   #day4

   SQd1_2=round(SQ*(ins_ad-k_ad))
   SQr1_2=r_ad
   SQs1_2=s_ad
   SQd1_2t=SQd1_2*SQr1_2*SQs1_2 #総負荷量
   PSQd1_2=round(SQ*((ins_ad-k_ad)-0.2))
   PSQr1_2=r_ad-2
   PSQs1_2=s_ad-1
   PSQd1_2t=PSQd1_2*PSQr1_2*PSQs1_2 #総負荷量

   print('day4')
   print('SQ:{}kg×Reps:{}×Sets:{}'.format(SQd1_2,SQr1_2,SQs1_2))
   print('Paused SQ:{}kg×Reps:{}×Sets:{}'.format(PSQd1_2,PSQr1_2,PSQs1_2))
   print('スクワットの総負荷量:{}kg, Pausedスクワットの総負荷量:{}kg'.format(SQd1_2t,PSQd1_2t))
 


   #day5

   BNd1_2=round(BN*(ins_ad-k_ad))
   BNr1_2=r_ad
   BNs1_2=s_ad+2
   BNd1_2t=BNd1_2*BNr1_2*BNs1_2 #総負荷量
   NBNd1_2=round(BN*((ins_ad-k_ad)-0.2))
   NBNr1_2=r_ad
   NBNs1_2=s_ad+2
   NBNd1_2t=NBNd1_2*NBNr1_2*NBNs1_2 #総負荷量
   OHPd2=round(OHP*(ins_ad-k_ad))
   OHPr2=r_ad
   OHPs2=s_ad
   OHPd2t=OHPd1*OHPr2*OHPs2 #総負荷量
   print('day5')
   print('BN:{}kg×Reps:{}×Sets:{}'.format(BNd1_2,BNr1_2,BNs1_2))
   print('Narrow BN:{}kg×Reps:{}×Sets:{}'.format(NBNd1_2,NBNr1_2,NBNs1_2))
   print('OHP:{}kg×Reps:{}×Sets:{}'.format(OHPd2,OHPr2,OHPs2))
   print('ベンチプレスの総負荷量:{}kg, ナローベンチプレスの総負荷量:{}kg,OHPの総負荷量:{}kg'.format(BNd1_2t,NBNd1_2t,OHPd2t))
   print('_________________________________________________________________')
   


#トレーニングメニューの提示_strength development
fig, axes = plt.subplots(2, 2, figsize=(16,12))
print('_________________________________________________________________')
week_2 = 0
for i in range(1, week_st+1):
   week_2 += 1
   ins_st += k_st 
   print('week'+str(week_2+(week_ad))+'--strength development期')
   
   #day1

   SQd1=round(SQ*(ins_st-k_st))
   SQr1=r_st
   SQs1=s_st
   SQd1t=SQd1*SQr1*SQs1 #総負荷量

   BNd1=round(BN*(ins_st-k_st))
   BNr1=r_st
   BNs1=s_st+1
   BNd1t=BNd1*BNr1*BNs1 #総負荷量

   print('day1')

   print('SQ:{}kg×Reps:{}×Sets:{}'.format(SQd1,SQr1,SQs1))
   print('BN:{}kg×Reps:{}×Sets:{}'.format(BNd1,BNr1,BNs1))
   print('スクワットの総負荷量:{}kg, ベンチプレスの総負荷量:{}kg'.format(SQd1t,BNd1t))
         
         
    #day2
   OHPd1=round(OHP*(ins_st-k_st))
   OHPr1=r_st
   OHPs1=s_st
   OHPd1t=OHPd1*OHPr1*OHPs1 #総負荷量
   print('day2')
   print('OHP:{}kg×Reps:{}×Sets:{}'.format(OHPd1,OHPr1,OHPs1))
   print('OHPの総負荷量:{}kg'.format(OHPd1t))  
   
    #day3

   DLd1=round(DL*(ins_st-k_st))
   DLr1=r_st
   DLs1=s_st
   DLd1t=DLd1*DLr1*DLs1 #総負荷量
   PDLd1=round(DL*((ins_st-k_st)-0.2))
   PDLr1=r_st-2
   PDLs1=s_st-1
   PDLd1t=PDLd1*PDLr1*PDLs1 #総負荷量
  
   print('day3')
   print('DL:{}kg×Reps:{}×Sets:{}'.format(DLd1,DLr1,DLs1))
   print('Paused DL:{}kg×Reps:{}×Sets:{}'.format(PDLd1,PDLr1,PDLs1))
   print('デッドリフトの総負荷量:{}kg, Pausedデッドリフトの総負荷量:{}kg,OHPの総負荷量:{}kg'.format(DLd1t,PDLd1t,OHPd1t))
   
   #day4

   SQd1_2=round(SQ*(ins_st-k_st))
   SQr1_2=r_st
   SQs1_2=s_st
   SQd1_2t=SQd1_2*SQr1_2*SQs1_2 #総負荷量
   PSQd1_2=round(SQ*((ins_st-k_st)-0.2))
   PSQr1_2=r_st-2
   PSQs1_2=s_st-1
   PSQd1_2t=PSQd1_2*PSQr1_2*PSQs1_2 #総負荷量

   print('day4')
   print('SQ:{}kg×Reps:{}×Sets:{}'.format(SQd1_2,SQr1_2,SQs1_2))
   print('Paused SQ:{}kg×Reps:{}×Sets:{}'.format(PSQd1_2,PSQr1_2,PSQs1_2))
   print('スクワットの総負荷量:{}kg, Pausedスクワットの総負荷量:{}kg'.format(SQd1_2t,PSQd1_2t))
 


   #day5

   BNd1_2=round(BN*(ins_st-k_st))
   BNr1_2=r_st
   BNs1_2=s_st+2
   BNd1_2t=BNd1_2*BNr1_2*BNs1_2 #総負荷量
   NBNd1_2=round(BN*((ins_st-k_st)-0.2))
   NBNr1_2=r_st
   NBNs1_2=s_st+2
   NBNd1_2t=NBNd1_2*NBNr1_2*NBNs1_2 #総負荷量
   OHPd2=round(OHP*(ins_st-k_st))
   OHPr2=r_st
   OHPs2=s_st
   OHPd2t=OHPd1*OHPr2*OHPs2 #総負荷量
   print('day5')
   print('BN:{}kg×Reps:{}×Sets:{}'.format(BNd1_2,BNr1_2,BNs1_2))
   print('Narrow BN:{}kg×Reps:{}×Sets:{}'.format(NBNd1_2,NBNr1_2,NBNs1_2))
   print('OHP:{}kg×Reps:{}×Sets:{}'.format(OHPd2,OHPr2,OHPs2))
   print('ベンチプレスの総負荷量:{}kg, ナローベンチプレスの総負荷量:{}kg,OHPの総負荷量:{}kg'.format(BNd1_2t,NBNd1_2t,OHPd2t))
   print('_________________________________________________________________')
   
   #スクワットの図
   axes[0][0].bar(week_2,SQd1t+SQd1_2t,color=sns.color_palette("Set1_r",1))
   axes[0][0].set_ylim(SQd1t+SQd1_2t-1000, SQd1t+SQd1_2t+100)
   axes[0][0].set_title("Squat",size=20)
   axes[0][0].set_ylabel("Total Volume(kg)",size=15)
   axes[0][0].set_xlabel("weeks",size=15)
   axes[0][0].set_xticks([])
   #ベンチプレスプレスの図
   axes[0][1].bar(week_2,BNd1t+BNd1_2t,color=sns.color_palette("Set3_r",3))
   axes[0][1].set_ylim(BNd1t+BNd1_2t-1000, BNd1t+BNd1_2t+100)
   axes[0][1].set_title("Benchpress",size=20)
   axes[0][1].set_ylabel("Total Volume(kg)",size=15)
   axes[0][1].set_xlabel("weeks",size=15)
   axes[0][1].set_xticks([])
   #デッドリフトの図
   axes[1][0].bar(week_2,DLd1t,color=sns.color_palette("Set1_r",5))
   axes[1][0].set_ylim(DLd1t-500, DLd1t+100)
   axes[1][0].set_title("Deadlift",size=20)
   axes[1][0].set_ylabel("Total Volume(kg)",size=15)
   axes[1][0].set_xlabel("weeks",size=15)
   axes[1][0].set_xticks([])
   #OHPの図
   axes[1][1].bar(week_2,OHPd1t+OHPd2t,color=sns.color_palette("Set3_r",7))
   axes[1][1].set_ylim(OHPd1t+OHPd2t-500, OHPd1t+OHPd2t+100)
   axes[1][1].set_title("OHP",size=20)
   axes[1][1].set_ylabel("Total Volume(kg)",size=15)
   axes[1][1].set_xlabel("weeks",size=15)
   axes[1][1].set_xticks([])
plt.tight_layout()
plt.show()

#トレーニングメニューの提示_Maximum muscle strength

print('_________________________________________________________________')
week_3 = 0
for i in range(1, week_ma+1):
   week_3 += 1
   ins_ma += k_ma 
   print('week'+str(week_3+(week_ad)+(week_st))+'--Maximum muscle strength期')
   
   #day1

   SQd1=round(SQ*(ins_ma-k_ma))
   SQr1=r_ma
   SQs1=s_ma
   SQd1t=SQd1*SQr1*SQs1 #総負荷量

   BNd1=round(BN*(ins_ma-k_ma))
   BNr1=r_ma
   BNs1=s_ma+1
   BNd1t=BNd1*BNr1*BNs1 #総負荷量

   print('day1')
   print('SQ:{}kg×Reps:{}×Sets:{}'.format(SQd1,SQr1,SQs1))
   print('BN:{}kg×Reps:{}×Sets:{}'.format(BNd1,BNr1,BNs1))
   print('スクワットの総負荷量:{}kg, ベンチプレスの総負荷量:{}kg'.format(SQd1t,BNd1t))
   
   #day2
   OHPd1=round(OHP*(ins_ma-k_ma))
   OHPr1=r_ma
   OHPs1=s_ma
   OHPd1t=OHPd1*OHPr1*OHPs1 #総負荷量
   print('day2')
   print('OHP:{}kg×Reps:{}×Sets:{}'.format(OHPd1,OHPr1,OHPs1))
   print('OHPの総負荷量:{}kg'.format(OHPd1t))  
   
    #day3

   DLd1=round(DL*(ins_ma-k_ma))
   DLr1=r_ma
   DLs1=s_ma
   DLd1t=DLd1*DLr1*DLs1 #総負荷量
   PDLd1=round(DL*((ins_ma-k_ma)-0.2))
   PDLr1=r_ma-2
   PDLs1=s_ma-1
   PDLd1t=PDLd1*PDLr1*PDLs1 #総負荷量
   print('day3')
   print('DL:{}kg×Reps:{}×Sets:{}'.format(DLd1,DLr1,DLs1))
   print('Paused DL:{}kg×Reps:{}×Sets:{}'.format(PDLd1,PDLr1,PDLs1))
   print('デッドリフトの総負荷量:{}kg, Pausedデッドリフトの総負荷量:{}kg'.format(DLd1t,PDLd1t))
   
   #day4

   SQd1_2=round(SQ*(ins_ma-k_ma))
   SQr1_2=r_ma
   SQs1_2=s_ma
   SQd1_2t=SQd1_2*SQr1_2*SQs1_2 #総負荷量
   PSQd1_2=round(SQ*((ins_ma-k_ma)-0.2))
   PSQr1_2=r_ma-2
   PSQs1_2=s_ma-1
   PSQd1_2t=PSQd1_2*PSQr1_2*PSQs1_2 #総負荷量

   print('day4')
   print('SQ:{}kg×Reps:{}×Sets:{}'.format(SQd1_2,SQr1_2,SQs1_2))
   print('Paused SQ:{}kg×Reps:{}×Sets:{}'.format(PSQd1_2,PSQr1_2,PSQs1_2))
   print('スクワットの総負荷量:{}kg, Pausedスクワットの総負荷量:{}kg'.format(SQd1_2t,PSQd1_2t))
 


   #day5

   BNd1_2=round(BN*(ins_ma-k_ma))
   BNr1_2=r_ma
   BNs1_2=s_ma+2
   BNd1_2t=BNd1_2*BNr1_2*BNs1_2 #総負荷量
   NBNd1_2=round(BN*((ins_ma-k_ma)-0.2))
   NBNr1_2=r_ma
   NBNs1_2=s_ma+2
   NBNd1_2t=NBNd1_2*NBNr1_2*NBNs1_2 #総負荷量
   OHPd2=round(OHP*(ins_ma-k_ma))
   OHPr2=r_ma
   OHPs2=s_ma
   OHPd2t=OHPd1*OHPr2*OHPs2 #総負荷量
   print('day5')
   print('BN:{}kg×Reps:{}×Sets:{}'.format(BNd1_2,BNr1_2,BNs1_2))
   print('Narrow BN:{}kg×Reps:{}×Sets:{}'.format(NBNd1_2,NBNr1_2,NBNs1_2))
   print('OHP:{}kg×Reps:{}×Sets:{}'.format(OHPd2,OHPr2,OHPs2))
   print('ベンチプレスの総負荷量:{}kg, ナローベンチプレスの総負荷量:{}kg,OHPの総負荷量:{}kg'.format(BNd1_2t,NBNd1_2t,OHPd2t))
   print('_________________________________________________________________')
   
 #トレーニングメニューの提示_deload
print('_________________________________________________________________')
week_4 = 0
for i in range(1, week_de+1):
   week_4 += 1
   ins_de += k_de 
   print('week'+str(week_4+(week_ad)+(week_st)+(week_ma))+'--deload期')
   
   #day1

   SQd1=round(SQ*(ins_de-k_de))
   SQr1=r_de
   SQs1=s_de
   SQd1t=SQd1*SQr1*SQs1 #総負荷量

   BNd1=round(BN*(ins_de-k_de))
   BNr1=r_de
   BNs1=s_de+1
   BNd1t=BNd1*BNr1*BNs1 #総負荷量

   print('day1')
   print('SQ:{}kg×Reps:{}×Sets:{}'.format(SQd1,SQr1,SQs1))
   print('BN:{}kg×Reps:{}×Sets:{}'.format(BNd1,BNr1,BNs1))
   print('スクワットの総負荷量:{}kg, ベンチプレスの総負荷量:{}kg'.format(SQd1t,BNd1t))
   
   #day2
   OHPd1=round(OHP*(ins_de-k_de))
   OHPr1=r_de
   OHPs1=s_de
   OHPd1t=OHPd1*OHPr1*OHPs1 #総負荷量
   print('day2')
   print('OHP:{}kg×Reps:{}×Sets:{}'.format(OHPd1,OHPr1,OHPs1))
   print('OHPの総負荷量:{}kg'.format(OHPd1t))
   
    #day3

   DLd1=round(DL*(ins_de-k_de))
   DLr1=r_de
   DLs1=s_de
   DLd1t=DLd1*DLr1*DLs1 #総負荷量
   PDLd1=round(DL*((ins_de-k_de)-0.2))
   PDLr1=r_de-2
   PDLs1=s_de-1
   PDLd1t=PDLd1*PDLr1*PDLs1 #総負荷量
   print('day3')
   print('DL:{}kg×Reps:{}×Sets:{}'.format(DLd1,DLr1,DLs1))
   print('Paused DL:{}kg×Reps:{}×Sets:{}'.format(PDLd1,PDLr1,PDLs1))
   print('デッドリフトの総負荷量:{}kg, Pausedデッドリフトの総負荷量:{}kg'.format(DLd1t,PDLd1t))
   
   #day4

   SQd1_2=round(SQ*(ins_de-k_de))
   SQr1_2=r_de
   SQs1_2=s_de
   SQd1_2t=SQd1_2*SQr1_2*SQs1_2 #総負荷量
   PSQd1_2=round(SQ*((ins_de-k_de)-0.2))
   PSQr1_2=r_de-2
   PSQs1_2=s_de-1
   PSQd1_2t=PSQd1_2*PSQr1_2*PSQs1_2 #総負荷量

   print('day4')
   print('SQ:{}kg×Reps:{}×Sets:{}'.format(SQd1_2,SQr1_2,SQs1_2))
   print('Paused SQ:{}kg×Reps:{}×Sets:{}'.format(PSQd1_2,PSQr1_2,PSQs1_2))
   print('スクワットの総負荷量:{}kg, Pausedスクワットの総負荷量:{}kg'.format(SQd1_2t,PSQd1_2t))
 


   #day5

   BNd1_2=round(BN*(ins_de-k_de))
   BNr1_2=r_de
   BNs1_2=s_de+2
   BNd1_2t=BNd1_2*BNr1_2*BNs1_2 #総負荷量
   NBNd1_2=round(BN*((ins_de-k_de)-0.2))
   NBNr1_2=r_de
   NBNs1_2=s_de+2
   NBNd1_2t=NBNd1_2*NBNr1_2*NBNs1_2 #総負荷量
   OHPd2=round(OHP*(ins_de-k_de))
   OHPr2=r_de
   OHPs2=s_de
   OHPd2t=OHPd1*OHPr2*OHPs2 #総負荷量
   print('day5')
   print('day5')
   print('BN:{}kg×Reps:{}×Sets:{}'.format(BNd1_2,BNr1_2,BNs1_2))
   print('Narrow BN:{}kg×Reps:{}×Sets:{}'.format(NBNd1_2,NBNr1_2,NBNs1_2))
   print('OHP:{}kg×Reps:{}×Sets:{}'.format(OHPd2,OHPr2,OHPs2))
   print('ベンチプレスの総負荷量:{}kg, ナローベンチプレスの総負荷量:{}kg,OHPの総負荷量:{}kg'.format(BNd1_2t,NBNd1_2t,OHPd2t))
   print('_________________________________________________________________')
   

まずは,適応する期間(adaptation期)が↓のように提示されます.

画像1

次に,筋力強化期間(strength development期)が↓のように提示されます.

画像2

さらに,筋力強化期間(strength development期)では,スクワット・ベンチプレス・デッドリフト・OHPに関する総負荷量の週単位の推移がグラフで図示されるようになっています.

画像3

 最大筋力強化期間(Maximum muscle strength期)は↓のように提示されます.

画像4

 最後に,回復期間(deload期)は↓のように提示されます.

画像5

 トレーニングプログラムの作成に関して,「こんな機能があったらいい」などの要望があれば,ぜひ教えていただきたいです!また,今回のトレーニングプログラムのコードに関して,「ここが間違っている」や「ここを修正したほうがいい」などありましたら,ぜひご教示ください!それらの意見を取り込んで,さらに質の高いトレーニングプログラム提示コードを作成したいと考えています!

 本記事に紹介したコードのファイルは↓からダウンロードできます.

 最後まで読んでいただきありがとうございました.

このトレーニングメニューを作成するために参考にした資料
1. TSA 9 Week Intermediate Powerlifting Program (v1.0 + v2.0)
https://liftvault.com/programs/powerlifting/tsa-9-week-intermediate-program/
2. パワーズ運動生理学 体力と競技力向上のための理論と応用
3. Periodization Training for Sports
4. Science and Practice of Strength Training
5. Peterson, M. D., Rhea, M. R., & Alvar, B. A. (2004). Maximizing strength development in athletes: a meta-analysis to determine the dose-response relationship. The Journal of Strength & Conditioning Research, 18(2), 377-382.
6. Rhea, M. R., Alvar, B. A., Burkett, L. N., & Ball, S. D. (2003). A meta-analysis to determine the dose response for strength development.