向字典添加新值时如何消除提示?

How to eliminate prompt when adding new value to dictionary?

问题措辞怪异。很难用几句话来形容。但我们开始: 我编写了这个程序,提示用户输入他们的姓名和一些与他们相关的数据。如果您第二次输入相同的名称,程序会询问您是否要更新,在这种情况下,您键入 y(表示是),然后您可以输入要存储的新数据。当您点击 enterreturn 两次时,程序将列出键及其值。

代码如下:

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,如果我的超级英雄例子让你不高兴,抱歉。

这正是我的代码。

只需跳过 if name in store: 检查并在名称不为空时再次询问该项目:

def thing():

    store = {}

    while True:
        name = input('Perp: ')
        if not name:
            for k, v in store.items():
                print('Perp' + k + ' has a ' + v)
            break
        else:    
            store[name] = input('item: ')