【Python】全国气温骤降,Python一键生成御寒指南,助你温暖过冬!!
生活随笔
收集整理的這篇文章主要介紹了
【Python】全国气温骤降,Python一键生成御寒指南,助你温暖过冬!!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
根據"中國天氣"微博消息,今年下半年以來最強冷空氣已經啟程,未來的日子里將橫掃我國中東部大部分地區,給多地都帶來"斷崖式"地降溫,局部地區的降溫幅度達到了12℃,小編穿著短袖、短褲地走在路上也是感到了陣陣地寒意
今天小編來利用Python和PyQt5來一鍵生成未來五天內所在當地的天氣預報,以便我們更好的來抵御寒冷,預防感冒。
效果顯示
制作過程
首先引入需要用到的庫
import?sys import?requests import?jsonfrom?PyQt5.QtWidgets?import?QApplication,?QWidget,?QMessageBox,?QPushButton,?QLineEdit,?QLabel from?PyQt5.QtGui?import?QIcon后端代碼邏輯部分
我們先來處理后端的部分,通過requests庫來抓取當地的天氣情況,并且數據格式是以json格式返回
headers?=?{'User-Agent':?'Mozilla/5.0?(Windows?NT?10.0;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/78.0.3904.70?Safari/537.36' }city_name?=?"上海" weather_url?=?'http://wthrcdn.etouch.cn/weather_mini?city={}'.format(city_name) city_response?=?requests.get(weather_url,?headers=headers) weather_dict?=?json.loads(city_response.text) forecast_weather?=?weather_dict.get('data').get('forecast')然后加入我們需要未來5天的天氣情況,直接寫一個for循環即可,如下
weather_report?=?[] for?i?in?range(5):weather_report.append('日期:'?+?forecast_weather[i].get('date')?+?'\n'+?'天氣狀況:'?+?forecast_weather[i].get('type')?+?'\n'+?'最高溫度:'?+?forecast_weather[i].get('high')?+?'\n'+?'最低溫度:'?+?forecast_weather[i].get('low')?+?'\n'+?'風向:'?+?forecast_weather[i].get('fengxiang')?+?'\n')前端頁面的設計
前端頁面的設計我們用的是PyQt5,在這里不做詳細的介紹,小編會在后續中對PyQt5的使用再做專門的講解,代碼如下
class?GetWeather(QWidget):def?__init__(self):super().__init__()self.lb?=?QLabel(self)self.lb.setGeometry(70,?25,?80,?40)self.lb.setText('請輸入城市:')self.textbox?=?QLineEdit(self)self.textbox.setGeometry(170,?30,?130,?30)self.findButton?=?QPushButton('查詢',?self)self.findButton.setGeometry(60,?85,?100,?40)self.quitButton?=?QPushButton('退出',?self)self.quitButton.clicked.connect(self.close)self.findButton.clicked.connect(self.find_weather)self.quitButton.setGeometry(190,?85,?100,?40)self.setGeometry(500,?500,?350,?150)self.setWindowTitle('Icon')self.setWindowTitle('天氣查詢,目前僅支持單次查詢')self.setWindowIcon(QIcon('751.png'))self.show()頁面顯示的模樣如下圖
打包成可執行文件(exe)
最后我們用pyinstaller將整個腳本整合成一個可執行文件,鼠標的雙擊便可打開使用
pyinstaller?main.py?--onefile?--name?MyExecutable?--windowed最后出來的結果如下
出來的效果如下圖所示
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載黃海廣老師《機器學習課程》視頻課黃海廣老師《機器學習課程》711頁完整版課件本站qq群554839127,加入微信群請掃碼:
總結
以上是生活随笔為你收集整理的【Python】全国气温骤降,Python一键生成御寒指南,助你温暖过冬!!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发个好的RTMP播放器到底难在哪里?R
- 下一篇: ECharts 饼图 legend 样式