ich versuche, damit der Benutzer den Wert für ein Wörterbuch ändern, mein Wörterbuch ist d wie folgt:Wörterbuch true/false Fehler
d = {'gary:' : 'B','john:': 'C',}
Immer, wenn ich gebe ‚Gary:‘ (Gary mit einem Semikolon) für den nameedit Eingang, der warum Variable führt immer zu wahr, aber unabhängig, wird der Wert als keine gelesen und nie den zweiten Eingang für den Buchstaben Grad (inpu)
nameedit = str(input("Which student do you wish to edit the grade of?"))
why = print(nameedit in d)
if why == None:
print("That student doesn't exist")
else:
inpu = str(input("Enter new letter grade: A,B,C,D,F,"))
d[nameedit] = inpu
print(d)
ich habe auch versucht, einige Variationen erreichen Auf diesem wie wenn nameedit == True: und ein sonst mit dem gleichen Problem, die print-Anweisung wird True b ergeben Aber es wird einfach weiter zur else-Anweisung gehen. Ich versuchte auch ein elif nameedit in d:
why = print(nameedit in d)
if nameedit in d == True:
inpu = str(input("Enter new letter grade: A,B,C,D,F,"))
d[nameedit] = inpu
print(d)
else:
print("That student doesn't exist")
, aber ohne Erfolg. Ist es unmöglich, den Wert zu lesen, den die print-Anweisung liest? Mein Ziel ist es, einfach zu überprüfen, ob der Name im Wörterbuch enthalten ist, wenn es weiterhin, wenn es nicht, stoppen ist
Python v 3.5
'print' retrurns' None'. Tun Sie stattdessen 'why = nameedit in d'. –
yea ich versuchte das vorher, aber es resultiert der gleiche Fehler, die Druckanweisung ist nur dort, um in True zu resultieren, um mir zu helfen, zu bestätigen, dass nameedit einem Wörterbuchschlüssel gleich ist, was es tut, es wird wahr (mindestens für mich) – piiiiiiiiiiiii
FYI, Py3s "Eingabe" gibt bereits 'str' zurück; Das Umbrechen in 'str' ist überflüssig. – ShadowRanger