Вопрос сформулирован странно. Трудно сказать это в нескольких словах. Но здесь мы идем: Я написал эту программу, которая запрашивает у пользователя их имя и некоторые данные, связанные с ними. Если вы введете одно и то же имя во второй раз, программа спросит вас, хотите ли вы обновить, в этом случае вы вводите y
(для да), и вы можете ввести новые данные для хранения. Когда вы дважды нажмете enter
или return
, программа перечислит ключи и их значения.Как удалить подсказку при добавлении нового значения в словарь?
Вот код:
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: ')
Теперь, что я хочу сделать, это уничтожить всю строку я даю в этом коде
if input(name + ' has ' + store[name] + '. Update? ') != 'y':
. Я просто хочу, когда я введу имя во второй раз, он покажет мне Item:
, и я введу элемент, и когда я дважды удалю enter
, и он перечисляет ключи и значения, он покажет мне обновленную пару.
Я просто хочу исключить приглашение попросить пользователя, хотят ли они обновить или нет. Если они вводят имя во второй раз, мы предположим, что это намерение.
Я пробовал возиться с этой строкой кода, где я пробовал
if input('Item: ')!= ''
, но это не удалось. И куча других вариантов кода. Тогда я понял, что мне нужно устранить этот input
. Когда я удалил эту строку, очевидно, что код не работал должным образом. Я знаю, что это крошечное решение, но я часами смотрю на него, и я не могу его получить.
Выходной будет выглядеть так:
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, извините, если мои примеры супергероев вас расстроить.
Вот мой код точно.
так ... удаление 'если вход (имя +«имеет»+ магазин [name] + '. Update?')! = 'y': continue' не сделал то, что вы хотели? –
Правильно. Если я удалю до и включу 'continue', он никогда не предложит мне элемент. Теперь, если я удаляю до, но не включая 'continue', просто' if input (name + 'has + store [name] +'. Update? ')! =' Y ': ', он вернет оба элемента для batman 'batarang' и' kryptonite', когда он должен возвращать только последний. – adhamncheese
Кроме того, когда я удаляю эту строку, опять же, не включая 'continue', я буду отступать от последней строки' store [name] = input ('item:') 'непосредственно под' continue'. – adhamncheese