Fatti

Il 11 maggio 1961, la ditta Gebr. Klaiber Söhne in qualità di appaltatore e la Tannerberg AG in qualità di committente hanno concluso un contratto d'appalto per la costruzione di quattro edifici plurifamiliari e un blocco di garage. L'impresa edile si è impegnata a realizzare l'edificio A con i relativi garage entro la fine di novembre 1961 e a iniziare i lavori sull'edificio B tra dicembre 1961 e gennaio 1962. In caso di mancato rispetto di questi termini, avrebbe dovuto pagare una penale convenzionale di Fr. 100.- al giorno di ritardo.

L'edificio A è stato completato solo alla fine di marzo 1962 e la costruzione dell'edificio B è stata ultimata nell'agosto 1962. La Tannerberg AG ha quindi sostenuto che il saldo dovuto all'impresa edile non fosse ancora esigibile, in quanto serviva come "ritenuta di garanzia" per gli edifici A e B, e intendeva compensare il debito con la penale convenzionale di Fr. 36'500.- a lei spettante.

Nel settembre 1966, la ditta Klaiber ha citato in giudizio la Tannerberg AG per il pagamento del saldo di Fr. 26'841.40 oltre agli interessi. La convenuta ha rivendicato una penale convenzionale di Fr. 60'000.-, che intendeva compensare.

Legge

Il Tribunale federale ha respinto il ricorso della convenuta e confermato la sentenza del Tribunale superiore, che aveva respinto l'eccezione di compensazione della convenuta.

Ai sensi dell'art. 160 cpv. 2 CO, la penale convenzionale pattuita per il mancato rispetto del termine di adempimento decade se il committente non la fa valere al più tardi al momento della consegna dell'opera. La convenuta si è richiamata per la prima volta alla penale convenzionale nella sua lettera…