如何在Python中先获取用户输入的n值,再基于n值收集更多输入
如何在Python中先获取用户输入的n值,再基于该n值获取更多输入?
场景示例
先询问用户销售的商品种类数(输入为2),接着输入商品名称(如饼干、牛奶),随后针对每个商品分别收集成本价和售价。
完整实现代码
# 获取商品种类数,转换为整数类型 prod_num = int(input("你销售多少种商品?")) # 获取商品列表,按空格分隔输入 products = list(map(str, input("请列出你销售的商品(示例:面包 饼干 牛奶):").split())) # 校验输入的商品数量是否与n值一致 if len(products) != prod_num: print(f"输入的商品数量不符:你声明了{prod_num}种,但实际输入了{len(products)}种") else: # 存储每个商品的成本价与售价 product_data = {} for product in products: cost_price = float(input(f"请输入{product}的成本价:")) selling_price = float(input(f"请输入{product}的售价:")) product_data[product] = {"成本价": cost_price, "售价": selling_price} # 输出整理后的商品信息 print("\n已收集的商品信息:") for prod, details in product_data.items(): print(f"{prod}:成本价{details['成本价']}元,售价{details['售价']}元")
关键细节说明
- 将商品数量输入转为
int类型,便于后续校验商品列表的长度是否匹配 - 使用
split()方法拆分用户输入的商品名,自动处理空格分隔的多个输入 - 添加数量校验逻辑,避免用户输入的商品数量与之前声明的n值不符
- 用字典存储商品信息,结构清晰,方便后续的查询或计算(比如利润)
内容的提问来源于stack exchange,提问作者Rondorr
相关产品推荐
相关产品推荐

