因此,我试图在输入空白时结束while循环,但问题是输入采用了2个由","分隔的值。对我来说,有必要保持输入,而不是将它们分隔开,那么如何解决这个问题?
print(" Input the productIDs and quantities (input blank to complete transaction)")
productID, quantity = input().split(", ")
quantity = int(quantity)
while quantity >= 1:
self.addProductToTransaction(productID, quantity)
print("why u here bro u ain't buyin nothin")
输入为空时:
ValueError: not enough values to unpack (expected 2, got 1)
4条答案
按热度按时间cgfeq70w1#
你甚至不需要一个异常处理。简单地取一个字符串,然后按
'
拆分抽样数量
92vpleto2#
while loop
应该是外部的,如果你想迭代地接收输入,直到输入一个错误的格式(由try-except
处理)。g2ieeal73#
有三种方法可以做到这一点。使用
len()
或try..except
或if
假如
镜头()
尝试...除了
三个注意事项:
1.如果要打印输入的消息,请在输入函数中传递字符串。如果要用户在下一行输入,请在字符串
"Foo..string\n"
中传递新行转义字符1.我想🤔你是想让循环反复询问用户输入,然后将其传递给另一个类函数
addProductToTransaction()
。除非没有传递任何内容,否则退出循环。为此,你可以将循环放在输入之前。1.以上解决方案按首选项和性能(从高到低)排序
iqjalb3h4#
我设法使用try/except修复了它。