如何在python中获得这样的输入?有多种线路和条件?

如何在python中获得这样的输入?有多种线路和条件?,python,python-3.x,list,input,user-input,Python,Python 3.x,List,Input,User Input,输入: Zantro@16.15 Zity@12.5 Gamry@9.8 输出条件: 某些车辆的名称和里程数作为输入传递。格式是CARNAME@MILEAGE输入是一行,每辆车的信息用一个空格隔开。该程序必须打印里程数最低的汽车。您可以使用拆分功能来分离肉身和里程并进行比较 s = input().split(" ") d = {} l = [] for data in s: value, key = data.split("@") d[key] = value l.ap

输入: Zantro@16.15 Zity@12.5 Gamry@9.8

输出条件:


某些车辆的名称和里程数作为输入传递。格式是CARNAME@MILEAGE输入是一行,每辆车的信息用一个空格隔开。该程序必须打印里程数最低的汽车。

您可以使用
拆分
功能来分离
肉身
里程
并进行比较

s = input().split(" ")
d = {}
l = []
for data in s:
    value, key = data.split("@")
    d[key] = value
    l.append(float(key))

print(d[str(min(l))])

粗略地说,这是我喂你的勺子:

因此,在每个空格字符上进行输入拆分

entries = the_input.split() # str.split with no arg splits on whitespace
现在您有了一个列表“Car@Number". 在上面循环,用“@”符号分开

注意:您希望循环条目并将每个条目放入前面创建的列表中,例如:
complete\u entries
,如下所示

complete_entries.append((car_name, mileage))
(汽车名称、里程)

那你就可以了

print(sorted(complete_entries, key=lambda x: x[1])

要打印一个新的
排序的
列表,其中
键是
lambda
函数,该函数接受一个参数
x
,并索引x(
x[1]
)的秒元素,该元素对应于元组的
里程
字段。

您尝试了什么?代码编写服务也是如此。请阅读并附上您试图修复的代码
print(sorted(complete_entries, key=lambda x: x[1])