You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python基础疑问:如何从多行输入构建汽车与价格数组

修正后的代码实现
n = int(input())
cars = []
prices = []

for i in range(n):
    car_name, price_str = input().split()
    cars.append(car_name)
    prices.append(int(price_str))

# 打印所有汽车名称
for car in cars:
    print(car, end=" ")

# 可选:打印所有价格(换行后输出)
print()
for price in prices:
    print(price, end=" ")

问题分析与修正点

  1. 未初始化存储列表:你原来的代码没有创建空列表来保存每一行的输入值,每次循环只是把当前行的car和price覆盖成新值,之前的输入数据都丢失了。解决方法是提前声明cars = []和prices = [],每次循环用append()把新元素加入列表。

  2. 变量赋值与类型转换:input().split()会返回字符串列表,价格默认是字符串类型,如果你需要数值运算,记得转成int(或float)存入prices列表。

  3. 错误的打印逻辑:原来的print(car[i])里,car是最后一次输入的字符串(比如最后一行的"Ford"),car[i]会取字符串的第i个字符,而不是列表中的元素。直接遍历列表for car in cars就能依次输出所有汽车名称,更直观简洁。

测试你的示例输入:

3
Audi 2
BMW 3
Ford 4

输出会是:

Audi BMW Ford 
2 3 4 

内容的提问来源于stack exchange,提问作者Ann Maria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 05:50:34