利用python实现可以同时选择多个商品及数量,但只有输入的商品数量不小于1才符合规则,小于1则通过异常捕获语句提示错误信息并设为默认值1。
时间: 2024-02-13 21:04:35 浏览: 18
同样可以使用Python中的字典来实现这个功能。与上一个问题类似,我们可以先定义一个空字典,然后通过循环不断向其中添加商品及数量,直到用户不再添加为止。在添加商品时,可以使用异常捕获语句来检查用户输入的数量是否合法,如果小于1则提示错误信息并设为默认值1。
以下是实现代码示例:
```python
# 定义空字典
goods = {}
while True:
# 获取用户输入的商品名称和数量
name = input("请输入商品名称:")
num = input("请输入商品数量:")
try:
# 尝试将数量转换为整数
num = int(num)
# 检查数量是否合法
if num < 1:
raise ValueError("数量不合法")
except ValueError:
# 捕获异常,打印错误信息并将数量设为默认值1
print("数量不合法,已设置为默认值1。")
num = 1
# 添加商品及数量到字典中
goods[name] = num
# 询问用户是否继续添加
ans = input("是否继续添加?(y/n)")
if ans.lower() == 'n':
break
# 输出商品及数量
print("您选择的商品有:")
for name, num in goods.items():
print("{} x {}".format(name, num))
```
在这个示例中,我们使用了一个`try...except`语句来捕获异常。我们尝试将用户输入的数量转换为整数,如果转换失败则会抛出`ValueError`异常,我们可以捕获该异常并打印错误信息,然后将数量设为默认值1。如果转换成功,则继续检查数量是否合法。最后,我们将商品及数量添加到字典中,并遍历字典输出所有的商品及数量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)