нечитаеться код

Дима Вахтин

Новичок
Пользователь
Сен 20, 2021
3
0
1
Код:
from tkinter import*
from tkinter import messagebox
from pyowm import OWM
import requests
from bs4 import BeautifulSoup



#12-17 главное меню(лобби)
#15-50 прогноз погоды


nr = 0

gl = Tk()
gl.title("главное миню")
gl.geometry('400x200')
gl["bg"] = "lightblue"


#прогноз погоды

def pp():

   root = Tk()
   root.title("погода")
   root.geometry("350x250")
   owm = OWM('your_api-key')
   root["bg"] = "lightgreen"


   Label(root, text="Погода в городе", font="Consolas 15 bold", bg="lightblue").pack(pady=5)
   Label(root, text="Укажите название города:", font="Consolas 11 bold", bg="red").pack(pady=5)

   a = Entry(root, width=40)
   a.pack()


   def temp():
      b = str(a.get())
      search = f"Погода в {b}"

      url = f"https://www.google.com/search?&q={search}"

      r = requests.get(url)
      s = BeautifulSoup(r.text, "html.parser")

      update = s.find("div", class_="BNeawe").text

      c = messagebox.showinfo("Прогноз погоды", "В городе " + b + " температура " + update)

      a.delete(first=0, last=10000)

   Button(root, text="Узнать температуру", command=temp).pack(pady=15)

   root.mainloop()

class Currency:
    # Ссылка на нужную страницу
    DOLLAR_RUB = 'https://www.google.com/search?sxsrf=ALeKk01NWm6viYijAo3HXYOEQUyDEDtFEw%3A1584716087546&source=hp&ei=N9l0XtDXHs716QTcuaXoAg&q=%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80+%D0%BA+%D1%80%D1%83%D0%B1%D0%BB%D1%8E&oq=%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80+&gs_l=psy-ab.3.0.35i39i70i258j0i131l4j0j0i131l4.3044.4178..5294...1.0..0.83.544.7......0....1..gws-wiz.......35i39.5QL6Ev1Kfk4'
    # Заголовки для передачи вместе с URL
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}

    current_converted_price = 0
    difference = 5 # Разница после которой будет отправлено сообщение на почту

    def __init__(self):
        # Установка курса валюты при создании объекта
        self.current_converted_price = float(self.get_currency_price().replace(",", "."))

    # Метод для получения курса валюты
    def get_currency_price(self):
        # Парсим всю страницу
        full_page = requests.get(self.DOLLAR_RUB, headers=self.headers)

        # Разбираем через BeautifulSoup
        soup = BeautifulSoup(full_page.content, 'html.parser')

        # Получаем нужное для нас значение и возвращаем его
        convert = soup.findAll("span", {"class": "DFlfde", "class": "SwHCTb", "data-precision": 2})
        messagebox.showinfo('курс валюты ', "доллар = " + convert[0].text + " к рублю")

    # Проверка изменения валюты
    def check_currency(self):
        currency = float(self.get_currency_price().replace(",", "."))
        if currency >= self.current_converted_price + self.difference:
            print("Курс сильно вырос, может пора что-то делать?")
            self.send_mail()
        elif currency <= self.current_converted_price - self.difference:
            print("Курс сильно упал, может пора что-то делать?")
            self.send_mail()

        print("Сейчас курс: 1 доллар = " + str(currency))
        time.sleep(3) # Засыпание программы на 3 секунды
        self.check_currency()


Button(gl,text="Курс валюты", bg="lightgreen", command=v).pack(pady=15)
Button(gl,text="Погода в городе",bg="lightgreen", command=pp).pack()#погода
Label(gl, text="Dima&Vahtin").pack(pady=15) #логотип в лобби
Label(gl,text="Discord сервер : https://discord.gg/sWHPka87hS").pack(pady=15) #дс сервер в лобби


gl.mainloop()


у меня Button(gl,text="Погода в городе",bg="lightgreen", command=pp).pack()#погода в конце не читаеться. Почему?
библиотеки : tkinter c * и messagebox, pyowm,requests,bs4 с BeautifulSoup.
 

Вложения

  • Снимок экрана (8).png
    Снимок экрана (8).png
    132,6 КБ · Просмотры: 3

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 670
477
83
что значит не читаеться? не отображаеться?
функцию v добавьте...
 

Форум IT Специалистов