Correct Answer:
B. by
The correct phrasal verb here is put by, which means to save money for future use or for an emergency. The idiom "for a rainy day" reinforces this meaning, referring to a time of need or difficulty.
- Put on means to wear clothes or to stage an event.
- Put down means to place something on a surface or to criticize someone.
- Put up means to erect something, to tolerate, or to accommodate someone.
Therefore, saving money is best expressed by "put by."