我正在嘗試解決如何完成以下要求的任務:
創建一個字串并使用一種方法來生成新車的描述,如下所示。列印它——它的格式應該像下面的文本(包括換行符)。
Yesterday I bought a [Make] [Model].
It’s not “too” old. It was made in [year] …
I like it, though. It’s [colour], and it has [doors] doors!
變數(品牌、型號、年份、顏色和門)需要從字典中填充。
我已經將字典編程為如下所示:
Car = {
'Make': 'Mitsubishi',
'Model': 'Lancer',
'Year': '2002',
'Colour': 'Green',
'Doors': '4',
}
如何通過參考字典“汽車”來填充該文本字串中的變數?
謝謝!
uj5u.com熱心網友回復:
您可以創建一個模板字串,然后爆破字典值以對其進行格式化。例子。
fstr = "Yesterday I bought a {} {}.\n\nIt’s not “too” old. It was made in {} …\n\nI like it, though. It’s {}, and it has {} doors!"
Car = {
'Make': 'Mitsubishi',
'Model': 'Lancer',
'Year': '2002',
'Colour': 'Green',
'Doors': '4',
}
print(fstr.format(*Car.values()))
給出類似的輸出
Yesterday I bought a Mitsubishi Lancer.
It’s not “too” old. It was made in 2002 …
I like it, though. It’s Green, and it has 4 doors!
因此,您可以將格式應用于您想要的任何字典。 條件:您必須確保鍵/值與填充符的順序相同。
uj5u.com熱心網友回復:
python 為此使用 f 字串。您可以使用 f-strings 將變數傳遞給您的字串,同時仍保持其可讀性。
output = f"Yesterday I bought a {Car['Make']} {Car['Model']}."
您\n用來表示換行符,并\轉義字串本身中的任何“”:
output = f"Yesterday I bought a {Car['Make']} {Car['Model']}.\nIt’s not \“too\” old. It was made in {Car['Year']}"
額外:Pythons PEP8 風格指南提到變數名(如您的字典)應始終以小寫字母開頭。
編輯:感謝 Timus 指出一個小錯誤。''在 dict 鍵周圍添加。
uj5u.com熱心網友回復:
使用字典鍵作為占位符(包含在大括號中)構建一個字串,然后使用.format_map()字典作為引數:
string = '''Yesterday I bought a {Make} {Model}.
It’s not “too” old. It was made in {Year} …
I like it, though. It’s {Colour}, and it has {Doors} doors!'''
Car = {
'Make': 'Mitsubishi',
'Model': 'Lancer',
'Year': 2002,
'Colour': 'Green',
'Doors': 4,
}
print(string.format_map(Car))
(字典的順序無關緊要。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/447773.html
上一篇:如何使用字典中的Func
下一篇:通過不同大小的陣列廣播
