Неправильной перенос строки как минимум
url = f"https://query.yahooapis.com/v1/public/yql?q="\
+ f"select%20*%20from%20weather.forecast%20where%20w" \
+ f"oeid%20in%20(select%20woeid%20from%20geo.places("\
+ f"1)%20where%20text%3D%22{city}%22)%20and%20u%3D%2" \
+ f"7c%27&format=json&env=store%3A%2F%2Fdatatables.o" \
+ f"rg%2Falltableswithkeys"
И зачем вы создали такое количество строк? Вы буквально создали 6 строк и сконкатенировали их. Если вы так хотите воспользоваться новой фичой - то используйте многострочный комментарик url = f"""String {city} """