Listen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
svhoffma
User
Beiträge: 3
Registriert: Donnerstag 23. März 2017, 00:19

Hi

Ich habe eine Frage bezüglich Listen:

In meinem Code möchte ich aus einer Endlosschleife heraus je eine Integerzahl eingeben und diese soll dann als index für die Liste "VALUES" verwendet werden. Zuletzt soll der eingetragene Wert ausgegeben werden.
Mein fehlerhafter Code sieht so aus:

Code: Alles auswählen

VALUES = [17, 88, 55, "Genosse der Bosse", "New York", 3.14, "Bremen", "Money  for Nothing"]

while True:
    a = input (int('Gib Zahl ein'))

    print "Index ist:", VALUES.index(a)
Zuletzt geändert von Anonymous am Donnerstag 23. März 2017, 10:47, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@svhoffma: und warum ist der Code fehlerhaft? Was meldet denn Python? Gibt es eine Fehlermeldung?
BlackJack

@svhoffma: Man kann ja erahnen wie der Code ohne den oder die Fehler aussehen müsste, dann tut der aber nicht das was Du im Text des Beitrags beschreibst. Wo sich dann die Frage stellt was stimmt: Der Text oder der Code? Also was genau soll mit der Eingabe des Benutzers passieren?

Antworten hängen bei dem gezeigten Quelltext übrigens ganz stark davon ab welche Python-Version Du verwendest. Das fängt schon damit an welche Fehlermeldung Du bekommst, die bezieht sich bei beiden Versionen nämlich auf eine andere Stelle im Programm.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Um einen Codeteil herauszugreifen:
svhoffma hat geschrieben:

Code: Alles auswählen

    int('Gib Zahl ein')
Möchtest du wirklich den String 'Gib Zahl ein' in einen Integer-Wert umwandeln? Offensichtlich nicht. Was also könnte falsch sein?
svhoffma
User
Beiträge: 3
Registriert: Donnerstag 23. März 2017, 00:19

File "C:/Users/svenm/PycharmProjects/untitled1/3/3_01_2_Listen.py", line 6
print "Index ist:", VALUES.index(a)

Hier ist die Fehlermeldung. Was mache ich am printbefehl falsch?
BlackJack

@svhoffma: Okay, jetzt ist geklärt wo der Fehler ist, nun wäre es eigentlich noch nett zu wissen *welche* Fehlermeldung Du bekommst.

Ich denke *hier* wissen das mittlerweile alle, aber es ist wichtig die komplette Fehlermeldung zu liefern, damit wir nicht raten müssen was denn nun falsch ist.

Was Du beim ``print``-Befehl falsch machst, ist das Du versuchst den in Python 3 zu verwenden. In Python 3 gibt es ``print`` nicht mehr als Befehl. Dort ist daraus eine Funktion geworden. Und für einen Funktionsaufruf ist die Syntax in der Zeile falsch, weswegen Du einen `SyntaxError` bekommst.
svhoffma
User
Beiträge: 3
Registriert: Donnerstag 23. März 2017, 00:19

Ups ja das kommt wohl davon, wenn man das noch schnell in der "Mittagspause" der Spätschicht macht.

Natürlich braucht es die komplette Fehlermeldung.


Vielen Dank auf jeden Fall für die ultraschnellen Antworten!


Der korrigierte code würde jetzt übrigens so aussehen:

Code: Alles auswählen

VALUES = [17, 88, 55, "Genosse der Bosse", "New York", 3.14, "Bremen", "Money  for Nothing"]

while True:
    a = int(input ('Gib Zahl ein'))

    print (VALUES[a])
Zuletzt geändert von Anonymous am Samstag 25. März 2017, 15:15, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Antworten