【问题标题】:How to obtain input like these in python? with multiple line and conditions?如何在python中获得这样的输入?有多个线路和条件?
【发布时间】:2020-03-24 06:51:53
【问题描述】:

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

输出条件:

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

【问题讨论】:

标签: python python-3.x list input user-input


【解决方案1】:

您可以使用split 函数将carnamesmileage 分开并进行比较。

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))])

【讨论】:

    【解决方案2】:

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

    所以你对每个空格字符进行输入拆分。

    entries = the_input.split() # str.split with no arg splits on whitespace
    

    现在您有了“Car@Number”列表。 循环,用“@”符号分割。

     car_name, mileage = entry.split("@")
     mileage = float(mileage) # parse the string into a floating point number
    

    注意:你想循环条目并将每个条目放入你之前创建的列表中,例如:complete_entries,就像这样

    complete_entries.append((car_name, mileage))
    

    tuples(car_name, mileage) 填充列表

    那你就可以了

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

    打印一个新的sorted 列表,其中keylambda 函数,它采用一个参数x 并索引x (x[1]) 的秒元素,该元素对应于mileage 字段元组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 2022-06-25
      • 1970-01-01
      • 2020-06-28
      • 1970-01-01
      • 2023-02-09
      相关资源
      最近更新 更多