接受一个和两个变量而不中断的输入行?

问题描述

我正在尝试创建一个“库存系统”作为初学者项目。我有一个带有字符串键和整数值的字典,我希望程序询问用户他想使用什么材料,以及需要多少材料。该问题取自材料字典并将其添加用户的“库存”中。我还设法重复了这个问题,以便用户可以根据需要多次从材料词典中提取

Trading_bill = True

n,q = input("What do you want to add? ").split()

while Trading_bill:
    q = int(q)
    y = int(materials_dict.get(n))

    materials_dict.update({n: y - q})
    inv.update({n: q})
    print("Added.")

    n,q = input("+ ").split()

现在,我希望用户能够写“完成”并让程序打印出他的库存并退出,但是输入行需要两个值,所以当你只给它一个时它会中断。有没有办法让最后一个输入只接受一个值而不是两个值?

     n,q = input("+ ").split()
ValueError: not enough values to unpack (expected 2,got 1)

解决方法

稍后分开。

reply = input("+ ")
if reply == 'Done':
    break
n,q = reply.split()