Seite 1 von 1

Formatierung Exponentialschreibweise

Verfasst: Dienstag 14. Juli 2020, 18:11
von Dieter68
# Eingabe einer Wellenlänge als Zahl, die allerdings intern zum Rechnen mit 1e-9 umgewandelt wird.
# Der Schüler soll nur z.B. 560 (grünes Licht) eingeben.
# Zur Kontrolle soll die Eingabe nochmals in Exponentialschreibweise angezeigt werden.
# 1000 Formatierungen im Internet, aber keine zeigt das Ergebnis als 560e-9 (nm)an.
#
# Gibt es da eine Lösung?
# Vielen Danke!

Code: Alles auswählen

number_L = int(input("Bitte geben Sie eine Wellenlänge L  zwischen(400 - 800)nm ein:  "))   
print("L als Eingabe:", number_L)
print("L in Exponentialschreibweise dargestellt:", number_L*1e-9)

Re: Formatierung Exponentialschreibweise

Verfasst: Dienstag 14. Juli 2020, 18:34
von __deets__

Re: Formatierung Exponentialschreibweise

Verfasst: Dienstag 14. Juli 2020, 22:59
von Dieter68
Danke für den Link, aber dort wird mein Problem nicht behandelt. Ich brauche ja drei
Dezimalstellen vor dem Komma (Punkt) und dann erst die e-Schreibweise.
Hat jemand eine Lösung wenn möglich mit Beispielcode.
Danke an alle.

Re: Formatierung Exponentialschreibweise

Verfasst: Mittwoch 15. Juli 2020, 07:32
von __deets__
Die Antwort war auch nicht gedacht dazu, eine perfekte Lösung zu liefern. Sondern das Thema String Formatierung ins Bewusstsein sein zu bringen. Das auch ausführlich in der Python Dokumentation beschrieben ist. Hast du da mal etwas versucht mit zu arbeiten?

Re: Formatierung Exponentialschreibweise

Verfasst: Mittwoch 15. Juli 2020, 07:47
von Dieter68
Ehrlich, nein. Aber ich lese doch integer ein und keinen Text. Oder verstehe ich das nicht? Alle Formatierungen geben nur ein Stelle vor dem Komma aus. Ich möchte aber drei Stellen vor dem Komma (560e-9). Danke das du über mein Problem nachdenkst. Wer hat noch Vorschläge?

Re: Formatierung Exponentialschreibwe

Verfasst: Mittwoch 15. Juli 2020, 08:04
von __deets__
Du liest zwar eine Ganzzahl, multiplizierst die aber mit einem Fliesskommazahl. Womit du auch eine fliesskommazahl erhältst & darstellen willst. Und dazu musst du sie nach definierten Vorgaben in einen String umwandeln. Denn nur das kann man ausgeben. Darum heißt das Thema Stringformatierung. Und ist ganz wirklich und in echt die Antwort auf deine Frage.

Re: Formatierung Exponentialschreibweise

Verfasst: Mittwoch 15. Juli 2020, 09:31
von Sirius3
Wenn Du unbedingt ein e-9 fix haben willst, mußt Du das halt selbst rechnen:

Code: Alles auswählen

f"{zahl*1e9:.2f}e-9"
Obwohl ich persönlich ein `nm` deutlich lesbarer finde als ein `e-9m`