به نظرم تفاوت اصلیای که برای کاربرد این دو تا وجود داره، توی این هست که guess معمولا با اطلاعات کمتری هست و میتونه حتی بدون اطلاعات باشه. مثلا وقتی میخواین مقدار یک سکه یا تاس رو حدس بزنین از guess میتونین استفاده کنین
I guess the dice is 4
ولی معمولا در این مواقع از assume استفاده نمیشه. در مواقعی که یه کم اطلاعات بیشتری وجود داره از assume استفاده میشه. مثلا
I've given my car's key to you, so I assume you can drive to ...
البته این قاعده کلی نیست و ممکنه یه جاهایی به جای هم به کار برده بشن
I guess today will be cloudy
I assume today will be cloudy
ولی چند تا تفاوت دارن که بیشتر واضحه. اونم توی کاربردشون تو جملههای مختلفه. یکی جملهی معروف guess what که سوالی (در واقع امری) هست و نمیتونیم با assume جایگزین کنیم. به طور کلی وقتی داریم از guess برای جملات اینطوری استفاده میکنیم از guess استفاده میکنیم نه assume.
مثلا guess the dice number نه assume the dice number
یه جای دیگه هم وقتی هست که میخوایم بگیم یه چیزی رو فرض میگیری.
assume that you are a teacher, how do you teach math?
یعنی فرض کن تو معلم هستی. نمیتونیم بگیم guess you are a teacher