Fino alla decimalizzazione del 1971 , il denaro britannico si basava sulla divisione della sterlina in 240 centesimi. Uno scellino è stato di 12 centesimi quindi 20 scellini hanno fatto una sterlina. La più piccola denominazione era la scoreggia a un quarto di centesimo. C'erano molte altre denominazioni e soprannomi per le monete, che possono diventare abbastanza confusi se non sei abituato al sistema.
Sfida
Scrivi un programma o una funzione in grado di convertire (quasi) qualsiasi denominazione di denaro inglese antico in un'altra. Per rendere più semplice per l'utente è necessario supportare plurali e nickname.
Queste sono le denominazioni e i loro termini che devi supportare. Per praticità, il loro valore in termini di distanza conduce ad ogni linea.
1: farthing, farthings
2: halfpence, halfpenny, halfpennies
4: penny, pennies, pence, copper, coppers
8: twopenny, twopennies, twopence, tuppence, half groat, half groats
12: threepence, threepenny, threepennies, threepenny bit, threepenny bits, thruppence, thrupenny, thrupennies, thrupenny bit, thrupenny bits
16: groat, groats
24: sixpence, sixpenny, sixpennies, sixpenny bit, sixpenny bits, tanner, tanners
48: shilling, shillings, bob
96: florin, florins, two bob bit, two bob bits
120: half crown, half crowns
240: crown, crowns
480: half sovereign, half sovereigns
504: half guinea, half guineas
960: pound, pounds, pounds sterling, sovereign, sovereigns, quid, quids
1008: guinea, guineas
(Non sono britannico, questo elenco non è affatto autorevole ma sarà sufficiente per la sfida.)
Tramite stdin o argomento della funzione dovresti prendere una stringa del modulo
[value to convert] [denomination 1] in [denomination 2]
e ritorna o stampa
[value to convert] [denomination 1] is [converted value] [denomination 2]
dove [converted value]
sono le [value to convert]
unità della denominazione 1 convertite nella denominazione 2.
I [value to convert]
e [converted value]
sono galleggianti positivi. Nell'output entrambi devono essere arrotondati o troncati con 4 cifre decimali. Se lo si desidera, si può presumere che [value to convert]
abbia sempre un punto decimale e zero quando si immette (ad es. 1.0
Anziché1
).
Le denominazioni 1 e 2 possono essere due termini dall'elenco precedente. Non preoccuparti se sono plurali o meno, tratta allo stesso modo tutte le denominazioni e i sinonimi. Si può presumere che il formato di input e le denominazioni siano sempre valide.
Esempi
1 pounds in shilling
→ 1 pounds is 20 shilling
( 1.0000 pounds is 20.0000 shilling
andrebbe bene)
0.6 tuppence in tanner
→ 0.6 tuppence is 0.2 tanner
24 two bob bits in pounds sterling
→ 24 two bob bits is 2.4 pounds sterling
144 threepennies in guineas
→ 144 threepennies is 1.7143 guineas
punteggio
Vince il codice più breve in byte .
quid
è quid
. Molto probabilmente questo sarebbe stato lo stesso con i vecchi soldi. Esempio: Five quid a pint! Cor blimey guvnor
. Eccezione: quids-in