簡體   English   中英

如何在python中獲得這樣的輸入? 有多個行和條件?

[英]How to obtain input like these in python? with multiple line and conditions?

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

輸出條件:

某些汽車的名稱和里程作為輸入傳遞。 格式為 CARNAME@MILEAGE 並且輸入為單行,每個汽車信息用空格分隔。 程序必須打印里程數最低的汽車。

您可以使用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))])

粗略地說,這是我喂你的勺子:

因此,您將輸入拆分為每個空格字符。

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

注意:您想循環條目並將每個條目放入您之前創建的 List 中,例如: complete_entries ,像這樣

complete_entries.append((car_name, mileage))

(car_name, mileage) tuples填充列表

那么你可以做

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

打印一個新的sorted列表,其中keylambda函數,它接受一個參數x並索引 x ( x[1] ) 的秒元素,該元素對應於元組的mileage字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM