Frage ist seltsam formuliert. Es ist schwer, es in ein paar Worten zu formulieren. Aber hier gehen wir: Ich habe dieses Programm geschrieben, das einen Benutzer nach ihrem Namen und einigen damit verbundenen Daten fragt. Wenn Sie denselben Namen ein zweites Mal eingeben, fragt das Programm Sie, ob Sie aktualisieren möchten. In diesem Fall geben Sie y
(für ja) ein und Sie können die neuen Daten eingeben, die gespeichert werden sollen. Wenn Sie zweimal enter
oder return
drücken, listet das Programm die Schlüssel und ihre Werte auf. HierWie kann die Eingabeaufforderung beim Hinzufügen eines neuen Werts zum Wörterbuch gelöscht werden?
ist der Code:
def thing():
store = {}
while True:
name = input('Perp: ')
if not name:
for k, v in store.items():
print('Perp' + k + ' has a ' + v)
break
if name in store:
if input(name + ' has ' + store[name] + '. Update? ') != 'y':
continue
store[name] = input('item: ')
Nun, was ich tun möchte, ist die ganze prompt beseitigen ich in diesem Code geben
if input(name + ' has ' + store[name] + '. Update? ') != 'y':
. Ich möchte nur, wenn ich den Namen ein zweites Mal eingeben, wird es mir zeigen Item:
und ich gebe das Element und wenn ich zweimal drücken enter
und es listet die Schlüssel und die Werte, wird es mir das aktualisierte Paar zeigen.
Ich möchte nur die Aufforderung, den Benutzer zu fragen, ob sie aktualisieren möchten oder nicht. Wenn sie den Namen ein zweites Mal eingeben, nehmen wir an, dass dies die Absicht ist.
Ich habe versucht, mit dieser Codezeile viel, wo ich versuchte
if input('Item: ')!= ''
versucht, aber das ist fehlgeschlagen. Und eine Reihe anderer Variationen des Codes. Dann erkannte ich, dass ich diese input
in gewisser Weise beseitigen muss. Als ich diese Zeile löschte, funktionierte der Code offensichtlich nicht so wie er sollte. Ich weiß genau, dass dies ein winziger Fehler ist, aber ich habe es stundenlang angeguckt und ich verstehe es nicht.
würde eine Ausgabe wie folgt sein:
Perp: Batman
Item: Batarang
Perp: Superman
Item: Heat Vision
Perp: Syndrome
Item: Stupidity
Perp: Batman
Item: Kryptonite
Perp:
Batman has Kryptonite
Superman has Heat Vision
Syndrome has Stupidity
PS, sorry, wenn mein Superheld Beispiele, die Sie aufregen.
Hier ist mein Code genau.
so ... Entfernen der 'wenn der Eingang (Name + 'hat' + store [name] + '. Update?')! = 'y': continue 'hat nicht getan, was Sie wollten? –
Korrigieren. Wenn ich bis einschließlich "Fortfahren" entferne, wird es mich nie nach dem Gegenstand fragen. Nun, wenn ich "continue" wegnehme, aber nicht einfach, wenn "input (name + '+' store [name] + '. Update?')! = 'Y':' hat, werden beide Items zurückgegeben für Batman 'Batarang' und' Kryptonite', wenn es nur die letzte zurückgeben sollte. – adhamncheese
Auch, wenn ich diese Zeile lösche, wiederum ohne 'continue', werde ich die letzte Zeile' store [name] = input ('item:') 'einrücken, um direkt unter' continue' zu sein. – adhamncheese