V Vishwanathan <vira...@hotmail.com> writes: > alert = "Today's forecast for {city}: The temperature will range > from{low_temperature} "" to ""{high_temperature}{temperature_unit}Conditions > will be > {weather_conditions}".format(city,low_temperature,high_temperature,temperature_unit,weather_conditions) > print(alert)
The ‘str.format’ method accepts positional arguments and keyword arguments. When you want to refer to the arguments by name, the method must know their names; that means passing them to the method as keyword arguments. > Traceback (most recent call last): > File "D:\python exercises\uda format1.py", line 6, in <module> > alert = "Today's forecast for {city}: The temperature will range > from{low_temperature} "" to ""{high_temperature}{temperature_unit}Conditions > will be > {weather_conditions}".format(city,low_temperature,high_temperature,temperature_unit,weather_conditions) > KeyError: 'city' Your format string refers to keys (names) that are not found in the dictionary of keyword arguments — because you passed no keyword arguments. Instead, give a keyword argument for each name you want to refer to in the format string. -- \ “There's a certain part of the contented majority who love | `\ anybody who is worth a billion dollars.” —John Kenneth | _o__) Galbraith, 1992-05-23 | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list