Python Eingabe: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
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)