====== LU10.A02: Kryptowährungen ======
Erstelle ein Skript, das zwischen Schweizer Franken und einer Auswahl von Kryptowährungen umrechnet.
===== Aufruf =====
Das Skript kennt eine Reihe von Argumenten, welche du der Usage-Meldung des Skripts entnehmen kannst.
Die Argumente können entweder anhand Ihrer Reihenfolge **oder** anhand der Kürzel (z.B. ''-a'') angegeben werden.
Usage: crypto_converter.py AMOUNT [FROM_UNIT] [TO_UNIT]
Usage: crypto_converter.py -a AMOUNT [-f FROM_UNIT] [-t TO_UNIT]
Converts an amount between various cryptocurrencies.
Arguments:
-a, --amount AMOUNT The amount to be converted. Specify as a number (e.g., 100, 0.5).
-f, --from FROM_UNIT The unit of the input amount. Use "CHF" for Swiss Francs or the symbol of a cryptocurrency (e.g., BTC, ETH). Default is "CHF"
-t, --to TO_UNIT The unit of the desired output. Use "CHF" for Swiss Francs or the symbol of a cryptocurrency (e.g., BTC, ETH). Default is "CHF"
Examples:
Convert 100 CHF to Bitcoin:
chf_crypto_converter.py -a 100 -f CHF -t BTC
Convert 0.05 BTC to Swiss Francs:
chf_crypto_converter.py --amount 0.05 --from BTC --to CHF
===== Verarbeitung =====
==== Argumente übernehmen ====
Zunächst identifiziert und übernimmt das Skript die angegebenen Argumente.
Fehlende Argumente werden durch den Defaultwert ersetzt.
==== Umrechnung ====
In der Funktion ''convert'' wird der Betrag umgerechnet.
* Argumente:
* amount (Float)
* from_unit (String, 3 Buchstaben A-Z)
* to_unit (String, 3 Buchstaben A-Z)
* Returnwert: Umgerechneter Betrag
Erstelle dazu einen Dictionary mit einigen Kryptowährungen (Key) und deren Wechselkurs (Value) zum Schweizer Franken.
Zum Beispiel:
^ Key ^ Value ^
| CHF | 1.00 |
| BTC | 97560.753 |
| ... | ... |
Falls die ''from_unit'' oder ''to_unit'' nicht bekannt sind, soll eine Exception ausgelöst werden.
Diese Exception muss im ''main'' aufgefangen und verarbeitet werden.
===== Ausgabe =====
Gib das Resultat der Rechnung in der Konsole aus.
Zum Beispiel:
crypto_converter.py --amount 0.05 --from BTC --to CHF
0.05 BTC = 4878.03765 CHF
----
{{tag>M122-LU10}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter