【问题标题】:Input line that accepts one and two variables without breaking?接受一个和两个变量而不中断的输入行?
【发布时间】:2021-04-16 12:57:54
【问题描述】:

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

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)

【问题讨论】:

    标签: python python-3.x input multiple-value


    【解决方案1】:

    稍后拆分。

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

    【讨论】:

    • 是的,就是这样。我唯一添加的是回复的 Else,这样它在完成后不会中断。 reply = input("+ ") if reply == 'Done': break else: n, q = reply.split()
    猜你喜欢
    • 1970-01-01
    • 2022-01-22
    • 2013-12-13
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多