Beim Input auch dahinter etwas anzeigen (z.B. 50 -> meter)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
crazyyzarc
User
Beiträge: 28
Registriert: Freitag 10. Juli 2015, 21:08
Wohnort: PyLand

Ich wollte es so machen, dass man 3 Angaben angibt, (die Höhe, die Breite und die Länge) nur wollte ich dahinter beim input auch es so machen, dass man direkt sieht dass es sich um meter oder centimeter handelt und ggf. davor noch per Entscheidungsmethode man sich zwischen den Einheiten entscheiden könne. Ich hoffe man versteht was ich mit dem Code vorhatte jedoch gibt der print Befehl sofort den \n Befehl obwohl es hier nicht grad praktisch ist mir viel vorerst nicht besseres ein. Hoffe ihr könnte mir helfen dass man wenn man dabei ist ein Integer einzugeben dahinter die jeweilige Einheit zu sehen ist.

Code: Alles auswählen

#Input
length = int(input("Geben Sie eine Länge an: "))
print("m")
width = int(input("Geben Sie eine Breite an: "))
print("m")
height = int(input("Geben Sie die Höhe an: "))
print("m")

#Processing
volume = length * width * height

#Output
print()
print("Das Gesamtvolumen deiner Angaben ist: ", volume, " m³/qm")
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Das geht nicht so einfach,weil es vom jeweiligen terminal abhängt. Im Gründe ist das fast schon wie eine Text basierte GUI...

Wichtiger wäre es vermutlich zu prüfen, wenn der Benutzer keine Zahl eingibt. Was passiert dann?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Prinzipiell kann man sowas unter Linux/OS X z.B. mit ncurses machen, es ist allerdings ziemlich kompliziert und platformabhängig, so dass der damit verbundende Aufwand um ein vielfaches höher wäre als für den Rest des Skripts. Sofern man ein UI bauen kann ohne solche Features, empfiehlt es sich dies zu tun.

Einfacher wäre es Meter anzunehmen, dies in der Frage deutlich zu machen und für eine Auswahl dem User zu erlauben sowas wie 180cm anzugeben.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

wenn man eine Terminal-basierte Applikation schreibt, dann sollte man auch mit den "Einschränkungen" leben können.

Im gegeben Fall würde ich es so machen:

Code: Alles auswählen

length = int(input("Geben Sie eine Länge in Metern an: "))
IMHO ist so alles klar und es sind keine "Verrenkungen" notwendig.

Gruß, noisefloor
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

später könnte man ja noch eine flexible Eingabe machen, die Werte mit m/cm/mm akzeptiert...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
crazyyzarc
User
Beiträge: 28
Registriert: Freitag 10. Juli 2015, 21:08
Wohnort: PyLand

Ok danke :) ich wusste ja nicht dass es nicht möglich ist mit dem Standart von Python so was zu schreiben
Antworten