Jusqu'à la décimalisation en 1971 , la monnaie britannique était basée sur la division de la livre en 240 sous. Un shilling était de 12 sous, donc 20 shillings ont fait une livre. La plus petite dénomination était la portion d'un quart de sou. Il y avait beaucoup d'autres dénominations et surnoms pour les pièces, ce qui peut devenir assez déroutant si vous n'êtes pas habitué au système.
Défi
Écrivez un programme ou une fonction qui peut convertir (presque) toute dénomination de vieil argent anglais en une autre. Pour faciliter la tâche de l'utilisateur, vous devez prendre en charge les pluriels et les surnoms.
Ce sont les dénominations et leurs termes synonymes que vous devez prendre en charge. Pour plus de commodité, leur valeur en farthings mène chaque ligne.
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
(Je ne suis pas britannique, cette liste ne fait nullement autorité mais elle suffira pour le défi.)
Via stdin ou argument de fonction, vous devez prendre une chaîne de la forme
[value to convert] [denomination 1] in [denomination 2]
et retourner ou imprimer
[value to convert] [denomination 1] is [converted value] [denomination 2]
où [converted value]
sont les [value to convert]
unités de la dénomination 1 converties en dénomination 2.
Les [value to convert]
et [converted value]
sont des flotteurs positifs. Dans la sortie, les deux doivent être arrondis ou tronqués à 4 décimales. Si vous le souhaitez, vous pouvez supposer qu'il a [value to convert]
toujours un point décimal et zéro lors de la saisie (par exemple 1.0
au lieu de 1
).
Les dénominations 1 et 2 peuvent être deux termes quelconques de la liste ci-dessus. Ne vous inquiétez pas s'ils sont pluriels ou non, traitez toutes les dénominations et synonymes de la même manière. Vous pouvez supposer que le format d'entrée et les dénominations sont toujours valides.
Exemples
1 pounds in shilling
→ 1 pounds is 20 shilling
(ce 1.0000 pounds is 20.0000 shilling
serait bien)
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
Notation
Le code le plus court en octets gagne.
quid
est quid
. Cela aurait probablement été le même avec l'ancien argent. Exemple: Five quid a pint! Cor blimey guvnor
. Exception: quids-in