In Python einen Wert abfragen und diesen in Zentimetermaß ausgeben?

5 Antworten

102 cm:

102/100 = 1,02 interpretiert als Integer -> 1 -> 1 m

102 - 1*100 = 2 -> 2 cm

Noch eine Möglichkeit:

eingabe = float(input('Zahl eingeben:'));
m = int(eingabe / 100);
cm = eingabe % 100;

print('Das sind %sm und %scm' % (m, cm));

Die Meter berechnest du, indem du die eingegebene Zahl durch 100 teilst und das Ergebnis in ein Integer castest (Nachkommastellen abschneiden).

Die Centimeter sind der Divisionsrest (Modulo) von der Eingegebenen Zahl und 100.

Ich verstehe aber nicht so ganz, wo du hier elif oder else verwenden willst ... ich verstehe nicht einmal, für was man überhaupt eine IF-Abfrage braucht. Klärst du mich auf, wenn du die Musterlösung hast?

AliHi 
Fragesteller
 14.05.2019, 18:47

Die IF-Abfragen (Verzweigungen) waren das generelle Thema der Aufgabe (hätte ich vlt. sagen sollen 🤔...)
Das hier ist meine Lösung:

a = input ("Geben Sie hier einen Wert in Zentimetermaß an: ")

b = 100

c = int(a)//100

d = int(a)%100

if int(a) <= b:

  print (str(a) + " cm")

else:

  print (str(c) + "m und " + str(d) + "cm")

1

Hm, ich würde das so machen

cm = input("Geben Sie hier den Wert in CM ein: ")
m = int(cm/100)
cm-= m*100
print("Das sind " + m + " Meter und " + cm + " Zentimeter.")
Woher ich das weiß:Hobby – Ich programmiere sehr gerne und häufig.
cm = 1234
m, cm = divmod(cm, 100)

print('Meter:', m) # 12
print('Zentimeter:', cm) # 34
Tbear44  03.02.2020, 13:59

Hm, ich würde das so machen

cm = input("Geben Sie hier den Wert in CM ein: ")
m = int(cm/100)
cm-= m*100
print("Das sind " + m + " Meter und " + cm + " Zentimeter.")
0
Tbear44  03.02.2020, 14:00

Ich würde sagen, dass geht einfacher

0

Wenn größer 100
ZahlInCM / 100 = y
y = Meter
ZahlInCM - y = restliche CM

Ist keine Musterlösung.

DivineSX  14.05.2019, 18:08

ZahlInCM - (y*100)

0