Im Gespräch mit deinem Programm · Übung
Wandle Text in eine ganze Zahl um
Die vorherige Lektion hat ein Muster eingeführt, das du jetzt wiederverwenden kannst:
function(argument) -> return value
int() ist eine weitere Funktion. Sie nimmt einen Wert als Argument entgegen und gibt eine neue ganze Zahl zurück.
book_count = int(book_count_text)
Bei diesem Aufruf gilt:
intist die Funktion.book_count_textist das Argument.Die umgewandelte ganze Zahl ist der Rückgabewert.
Die Zuweisung speichert diesen Rückgabewert in
book_count.
Der Pfeil oben dient der Erklärung und gehört nicht zur Python-Syntax.
Wandle eingegebenen Text in eine ganze Zahl um
Wenn eine Antwort eine ganze Zahl darstellt, wandle den String mit int() in eine ganze Zahl um.
book_count_text = input("How many books? ")
book_count = int(book_count_text)
Die erste Zeile sammelt Text. Die zweite ruft int() mit diesem Text auf und speichert die zurückgegebene ganze Zahl.
Wenn die Person 12 eingibt, ergeben sich diese Werte:
| Variable | Wert | Typ |
|---|---|---|
book_count_text | "12" | str |
book_count | 12 | int |
Die Anführungszeichen in der Tabelle verdeutlichen den Unterschied. Sie gehören nicht zur Eingabe der Person.
Eine Umwandlung erzeugt einen neuen Wert
int(book_count_text) verändert den ursprünglichen String nicht. Der Aufruf erzeugt einen neuen ganzzahligen Wert, den dieses Programm book_count zuweist.
Jetzt funktioniert das Rechnen:
after_one_more = book_count + 1
Wenn book_count den Wert 12 hat, wird after_one_more zu 13.
Hier ist das vollständige Beispiel zum Zählen von Büchern:
book_count_text = input("How many books? ")
book_count = int(book_count_text)
after_one_more = book_count + 1
print(f"With one more, you would have {after_one_more} books.")
Beachte die drei verschiedenen Werte: den ursprünglichen String, die umgewandelte ganze Zahl und das Ergebnis der Berechnung.
Eine kürzere Schreibweise
Du wirst auch verschachtelte Funktionsaufrufe sehen:
book_count = int(input("How many books? "))
Python arbeitet von innen nach außen. input() gibt einen String zurück. Anschließend erhält int() diesen String als Argument und gibt eine ganze Zahl zurück.
Beide Schreibweisen funktionieren. Getrennte Zeilen lassen sich beim Lernen oder bei der Fehlersuche oft leichter nachvollziehen.
Die Variable number_text enthält den String "7". Was gibt dieses Programm aus?
number_text = "7"
number = int(number_text)
print(number + 2)Vervollständige das Altersprogramm
Das Startprogramm sammelt ein Alter als Text. Zwei Platzhalterwerte verhindern noch, dass es das Alter im folgenden Jahr berechnet.
Ersetze diese Platzhalter, sodass das Programm:
den Wert in
age_textin eine ganze Zahl namensageumwandelt;next_ageberechnet, indem es1zuageaddiert.
Behalte den abschließenden f-String bei. Wenn die Person 40 eingibt, soll die letzte Zeile so lauten:
Next year you will be 41.
Kopiere die Variablennamen aus dem Bücherbeispiel nicht in die Übung. Wende dasselbe Funktionsmuster auf die Altersvariablen an, die bereits im Startcode stehen.
Verwende bei Run eine ganze Zahl. Bei Submit stellt Python Land eine eigene ganzzahlige Antwort bereit.
Aufgabe
Wandle age_text mit int() in eine ganze Zahl namens age um. Berechne dann next_age, indem du 1 zu age addierst. Behalte den abschließenden f-String mit next_age bei.
Wenn die Eingabe 40 lautet, soll die letzte Zeile so aussehen:
Next year you will be 41.