[英語]had to と ought to の違いが分かりません。

I ( ) work overtime every day last week. 私は「ought to」を選びましたが答えは「had to」でした。どうして「ought to」でダメなんですか?

ここでは先週の事を述べていますから「have to ~ 」(~しなければならない)の過去形「had to ~ 」を使います。
よって英文は「私は先週毎日残業をしなければならなかった。」という意味になります。

では「ought to ~」(~するべきだ)を使うとどうなるでしょうか。
「ought to」には過去形がありませんから時制は現在です。
先週の出来事に対して現在の時制を使うことになりますから不適切となるのです。無理に訳すと「私は先週毎日残業をするべきだ。」となります。

もし「ought to ~」を使うのであれば「ought to have 過去分詞」の形にする必要があります。文章全体の意味も「had to」の時と変わってきますから気をつけましょう。
この例文の場合は
I ought to have worked overtime every day last week.
「私は先週毎日残業をするべきだったのに(しなかった)」となります。

(医学部 O.Y)