Во-первых, как можно заметить, от C значение функции не зависит.
Особенно это хорошо видно на последних двух строчках. Если убрать переменную C, то получиться таблица из 4 строк:
A B F
0 0 1
0 1 1
1 0 1
1 1 0
Это таблица истинности для отрицания И: - ответ.
На этом можно было бы остановиться (проверить по таблице истинности с учётом бесполезного С), но сделаем ещё кое-что - выведем это шаг за шагом, докажем, что С - бесполезная и никому не нужная переменная.
Запишем то же выражение в совершенной конъюнктивной нормальной форме. Выберем стоки, которые обращают выражение в Ложь.
A B C F
1 1 0 0
1 1 1 0
Две строки - две скобки. Единица в таблице означает отрицание переменной в скобке. Получаем .
Тут уже видно, что переменная С на результат не влияет. Упростим и приведём это к выражению выше.
С вероятнее всего, вы написали свой скрипт по каким то старым гайдам, информация в которых давным давно устарела. В текущей версии API OpenWeatherMap объект OWM не имеет атрибута weather_at_place()
В текущей версии API объект OWM имеет метод weather_manager(), возвращающий WeatherManager. Уже у этого объекта мы можем вызвать метод weather_at_place(), который опять же вернёт нам очередной объект, Observation. У Observation мы можем обратиться к атрибуту weather, уже у которого вызываем метод temperature(unti), который нам наконец-таки вернёт словарь с данными о температуре в указанной области.
Пример рабочего скрипта:
#Python 3.8.3 pyowm 3.0.0
import settings #Я храню все API и прочее в отдельном .py файле
import pyowm
API_KEY = settings.PYOWM_APIKEY #Получаем API_KEY из файла настроек
#Обращаемся к атрибуту weather объекта obs (Observation) и #вызываем метод temperature, тем самым получая заветные данные о #температуре. В квадратных скобках указываем ключ 'temp', что бы #получить только данные о текущей температуре:
ответ:
.
Пошаговое объяснение:
Во-первых, как можно заметить, от C значение функции не зависит.
Особенно это хорошо видно на последних двух строчках. Если убрать переменную C, то получиться таблица из 4 строк:
A B F
0 0 1
0 1 1
1 0 1
1 1 0
Это таблица истинности для отрицания И:
- ответ.
На этом можно было бы остановиться (проверить по таблице истинности с учётом бесполезного С), но сделаем ещё кое-что - выведем это шаг за шагом, докажем, что С - бесполезная и никому не нужная переменная.
Запишем то же выражение в совершенной конъюнктивной нормальной форме. Выберем стоки, которые обращают выражение в Ложь.
A B C F
1 1 0 0
1 1 1 0
Две строки - две скобки. Единица в таблице означает отрицание переменной в скобке. Получаем
.
Тут уже видно, что переменная С на результат не влияет. Упростим и приведём это к выражению выше.
С вероятнее всего, вы написали свой скрипт по каким то старым гайдам, информация в которых давным давно устарела. В текущей версии API OpenWeatherMap объект OWM не имеет атрибута weather_at_place()
В текущей версии API объект OWM имеет метод weather_manager(), возвращающий WeatherManager. Уже у этого объекта мы можем вызвать метод weather_at_place(), который опять же вернёт нам очередной объект, Observation. У Observation мы можем обратиться к атрибуту weather, уже у которого вызываем метод temperature(unti), который нам наконец-таки вернёт словарь с данными о температуре в указанной области.
Пример рабочего скрипта:
#Python 3.8.3 pyowm 3.0.0
import settings #Я храню все API и прочее в отдельном .py файле
import pyowm
API_KEY = settings.PYOWM_APIKEY #Получаем API_KEY из файла настроек
owm_obj = pyowm.OWM(API_KEY) #Создаём экземпляр OWM
city = input('Enter city to get weather:\n')
#Получаем WeatherManager
weather_manager = owm_obj.weather_manager()
#Получаем Observation в для указанного city:
obs = weather_manager.weather_at_place(city)
#Обращаемся к атрибуту weather объекта obs (Observation) и #вызываем метод temperature, тем самым получая заветные данные о #температуре. В квадратных скобках указываем ключ 'temp', что бы #получить только данные о текущей температуре:
temperature_at_selected_place = obs.weather.temperature(unit='celsius')['temp']
print(f'{temperature_at_selected_place}')