Python Eingabe: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
=RAW Input=
+
=Input=
 +
Um seinem Pythonscript die Möglichkeit einer Benutzereingabe zu geben benutzt man folgenden Befehl:
 +
 
 +
<pre>
 +
...eingabe=input("Geben Sie etwas ein\n") <-- Die Eingabe wird erzeugt und an die Variable "eingabe" übergeben.
 +
...print(eingabe) <-- Der Inhalt der Variable "eingabe" wird ausgegeben.
 +
</pre>
 +
 
 +
Wird das Script nun ausgeführt hat man folgende Ausgabe:
  
 
<pre>
 
<pre>
...eingabe=raw_input("Geben Sie etwas ein\n")
+
Geben Sie etwas ein
>>>print eingabe
+
etwas <--- Die Eingabe des Benutzers welche dann an die Variable übergeben wird
 +
etwas <--- Ausgabe des Inhalts der Variable "eingabe" (In diesem Fall der String "etwas")
 +
</pre>
 +
 
 +
Anders als bei Python2, wird in Python3 die Eingabe vom Interpreter nicht mehr automatisch interpretiert. Die
 +
Eingabe wird immer als String übergeben.
 +
 
 +
Beispiel:
 +
 
 +
<pre>
 +
...a = input('Bitte geben Sie eine Zahl ein: ') <--- Eingabe 20
 +
...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>
 
</pre>
  
=Input=
+
Möchte man die Eingabe interpretiert haben muss man die Funktion "eval()" nutzen.
  
 +
Beispiel:
 
<pre>
 
<pre>
...eingabe=input("Geben Sie etwas ein\n")
+
...a = eval(input('Bitte geben Sie eine Zahl ein: ')) <--- Eingabe 20
>>>print eingabe
+
...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>
 
</pre>

Version vom 28. November 2019, 10:16 Uhr

Input

Um seinem Pythonscript die Möglichkeit einer Benutzereingabe zu geben benutzt man folgenden Befehl:

...eingabe=input("Geben Sie etwas ein\n") <-- Die Eingabe wird erzeugt und an die Variable "eingabe" übergeben.
...print(eingabe) <-- Der Inhalt der Variable "eingabe" wird ausgegeben.

Wird das Script nun ausgeführt hat man folgende Ausgabe:

Geben Sie etwas ein
etwas <--- Die Eingabe des Benutzers welche dann an die Variable übergeben wird 
etwas <--- Ausgabe des Inhalts der Variable "eingabe" (In diesem Fall der String "etwas")

Anders als bei Python2, wird in Python3 die Eingabe vom Interpreter nicht mehr automatisch interpretiert. Die Eingabe wird immer als String übergeben.

Beispiel:

...a = input('Bitte geben Sie eine Zahl ein: ') <--- Eingabe 20
...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.

Möchte man die Eingabe interpretiert haben muss man die Funktion "eval()" nutzen.

Beispiel:

...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.