Начните с покупки таблеток от головной боли. При изучении Си после Пайтона избавление от головной боли будет самой большой проблемой. А так да, Керниган и Ритчи.
Настоятельно рекомендую таки читать актуальную документацию на модули, которыми пользуетесь. Там прямым текстом пишут как правильно инициализировать: from pyowm.owm import OWM
Воспользуйтесь теми функциями, которые ищут несколько элементов, а не один.
При отсутствии искомого они не выбрасывают исключения, а просто возвращают пустой список.
А чем вас не устраивают сервисы, которые предоставляют услугу "облачного" тестирования на реальных устройствах ? Или вам надо непременно руками тестировать ?
Обратите внимание: переменные-счётчики циклов объявлены в начале функций, а не в самом операторе for, как это стало возможным с появлением C99. Следовательно, имеем чистый, незамутнённый Си.