Python Eingabe: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Terry.dailey (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
=Input=
=Einfache Eingabe=
Um seinem Pythonscript die Möglichkeit einer Benutzereingabe zu geben benutzt man folgenden Befehl:
Die Benutzereingabe wird durch den Befehl '''input()''' realistiert
 
<syntaxhighlight>
<pre>
#!/usr/bin/python
...eingabe=input("Geben Sie etwas ein\n") <-- Die Eingabe wird erzeugt und an die Variable "eingabe" übergeben.
eingabe=input("Geben Sie etwas ein\n")
...print(eingabe) <-- Der Inhalt der Variable "eingabe" wird ausgegeben.
print(eingabe)
</pre>
</syntaxhighlight>
 
=Datentyp der Eingabe ist ein String=
Wird das Script nun ausgeführt hat man folgende Ausgabe:
Bei Eingaben von Zahlen werden 2 Strings aneinander gereiht
 
<syntaxhighlight>
<pre>
#!/usr/bin/python
Geben Sie etwas ein
a = input('Bitte geben Sie eine Zahl ein: ')
etwas <--- Die Eingabe des Benutzers welche dann an die Variable übergeben wird
b = input('Bitte geben Sie eine zweite Zahl ein: ')
etwas <--- Ausgabe des Inhalts der Variable "eingabe" (In diesem Fall der String "etwas")
print(a + b)
</pre>
</syntaxhighlight>
 
=Umwandlung von Strings in Integer=
Anders als bei Python2, wird in Python3 die Eingabe vom Interpreter nicht mehr automatisch interpretiert. Die
Hier werden die Zahlen addiert
Eingabe wird immer als String übergeben.
<syntaxhighlight>
 
#!/usr/bin/python
Beispiel:
a = eval(input('Bitte geben Sie eine Zahl ein: '))
 
b = eval(input('Bitte geben Sie eine zweite Zahl ein: '))
<pre>
print(a + b)
...a = input('Bitte geben Sie eine Zahl ein: ') <--- Eingabe 20
</syntaxhighlight>
...b = input('Bitte geben Sie eine zweite Zahl ein: ') <--- Eingabe 20
...print(a + b)
Man erhält als Ausgabe "2020" weil die Eingaben nicht als Integer addiert, sondern als zwei Strings konkateniert werden.
</pre>
 
Möchte man die Eingabe interpretiert haben muss man die Funktion "eval()" nutzen.
 
Beispiel:
<pre>
...a = eval(input('Bitte geben Sie eine Zahl ein: ')) <--- Eingabe 20
...b = eval(input('Bitte geben Sie eine zweite Zahl: ')) <--- Eingabe 20
...print(a + b)
Man erhält als Ausgabe 40 weil die Eingabe 20 durch die eval() Funktion als Integer interpretiert und addiert wird.
</pre>

Aktuelle Version vom 5. Dezember 2019, 09:21 Uhr

Einfache Eingabe

Die Benutzereingabe wird durch den Befehl input() realistiert

#!/usr/bin/python
eingabe=input("Geben Sie etwas ein\n")
print(eingabe)

Datentyp der Eingabe ist ein String

Bei Eingaben von Zahlen werden 2 Strings aneinander gereiht

#!/usr/bin/python
a = input('Bitte geben Sie eine Zahl ein: ')
b = input('Bitte geben Sie eine zweite Zahl ein: ')
print(a + b)

Umwandlung von Strings in Integer

Hier werden die Zahlen addiert

#!/usr/bin/python
a = eval(input('Bitte geben Sie eine Zahl ein: '))
b = eval(input('Bitte geben Sie eine zweite Zahl ein: '))
print(a + b)