Seite 1 von 1

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

Verfasst: Donnerstag 23. Juli 2015, 17:52
von crazyyzarc
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")

Re: Beim Input auch dahinter etwas anzeigen (z.B. 50 -> mete

Verfasst: Donnerstag 23. Juli 2015, 18:07
von jens
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?

Re: Beim Input auch dahinter etwas anzeigen (z.B. 50 -> mete

Verfasst: Donnerstag 23. Juli 2015, 18:13
von DasIch
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.

Re: Beim Input auch dahinter etwas anzeigen (z.B. 50 -> mete

Verfasst: Donnerstag 23. Juli 2015, 19:35
von noisefloor
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

Re: Beim Input auch dahinter etwas anzeigen (z.B. 50 -> mete

Verfasst: Donnerstag 23. Juli 2015, 21:15
von jens
später könnte man ja noch eine flexible Eingabe machen, die Werte mit m/cm/mm akzeptiert...

Re: Beim Input auch dahinter etwas anzeigen (z.B. 50 -> mete

Verfasst: Donnerstag 23. Juli 2015, 22:59
von crazyyzarc
Ok danke :) ich wusste ja nicht dass es nicht möglich ist mit dem Standart von Python so was zu schreiben