[英]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
功能將carnames
和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”列表。 循環,由“@”符號分割。
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
列表,其中key
是lambda
函數,它接受一個參數x
並索引 x ( x[1]
) 的秒元素,該元素對應於元組的mileage
字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.