这是一个含蓄的虚拟语气,与事实相反,因此填过去时took,另外也可以填过去完成时hadtaken.
这句话变成正常的虚拟语气就是:
IfIhadn'ttakenyouradvice,Icouldn'thavemadeabreakthroughinmyresearch.
Iftheweatherhadbeenbetter,wecouldhavehadapicnic.Butit__allday.这个为什么不填hadrained
这里不填hadrained.因为这句话讲的事实,“整天都在下雨”Butitrainedallday.