ну в таком виде оно не будет работать, у вас виджеты внутри рамки и рамка будет автоматически подстраиваться под размер виджетов. Хотя оно фикситься одной строчкой,сомневаюсь что именно это имелось ввиду, наверное всетаки рамка должна была быть отдельно, но ладно как есть уже. А так почти правильно.
from tkinter import *
root=Tk()
fra=Frame(root,width=300,height=300,bg="lightgreen",bd=20)
fra.pack_propagate(False) # делаем чтобы рамка не подстраивалась пдо размер виджетов
ent1=Entry(fra,width=20)
ent2=Entry(fra,width=20)
def spc1(event):
fra['height']=ent1.get()
fra['width']=ent2.get()
root.bind("<space>",spc1)
ent1.pack()
ent2.pack()
fra.pack()
root.mainloop()
Биндить достаточно один раз для всего окна, а не для каждого элемента.