Здравствуйте! Пиши программу на Python (приложение показывает погоду). Столкнулся с проблемой Traceback (most recent call last): File "main.py", line 7, in
owm = pyowm.owm("cc6450a19ebb3ea19e68638e02961a54")
TypeError: 'module' object is not callable

Вот код:

import eel
import pyowm

city = "Россия, Тюмень"

owm = pyowm.owm("cc6450a19ebb3ea19e68638e02961a54")
mgr = owm.weather_manager()

observation = mgr.weather_at_place(city)
w = observation.weather

temp = w.temperature('celsius')['temp']

print("В Городе " +city + "сейчас" + str(temp)+ "градусов!")

eel.init("web") # EEL initialization

@eel.expose
def binary(number):
"""This function converts the entered number from the decimal system to binary"""
return bin(int(number)).replace("0b", "")

eel.start("main.html", size=(700, 400)) # Starting the App

vladt12092002 vladt12092002    1   07.12.2020 15:17    2

Ответы
irinkagoncharo irinkagoncharo  06.01.2021 15:19

pyowm.owm - какой-то подмодуль в модуле pyowm. Вам же нужен pyowm.OWM.

Заодно поправлю пробелы в выводе (хотя можно передать и просто в вывод через запятую - питон автоматически будет разделять их одним пробелом)

Код (Python 3):

import eel

import pyowm

city = "Россия, Тюмень"

owm = pyowm.OWM("cc6450a19ebb3ea19e68638e02961a54")

mgr = owm.weather_manager()

observation = mgr.weather_at_place(city)

w = observation.weather

temp = w.temperature('celsius')['temp']

print("В Городе " +city + " сейчас " + str(temp)+ " градусов!")

eel.init("web") # EEL initialization

@eel.expose

def binary(number):

   """This function converts the entered number from the decimal system to binary"""

   return bin(int(number)).replace("0b", "")

eel.start("main.html", size=(700, 400)) # Starting the App

Вывод:

В Городе Россия, Тюмень сейчас -12.49 градусов!

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика