網站首頁 編程語言 正文
任務詳情
給定一各地 2016 年 1 月和 2 月各個時間點的溫度表格,表格預覽見頁面下方。
數據表的第二列表示當前時間,數據表第一行第三列到第一行最后一列表示地點。
如:表格的第二行第三列 30.36 表示:Vancouver (溫哥華)在 2016-01-01 00:00:00 這一時刻的溫度是 30.36 度(華氏度)。
程序給定一個日期(date)和一個地點(place),要求返回該地在這個日期下的溫差(攝氏度)。
注意:華氏度需要轉換成攝氏度!
華氏度轉攝氏度公式:攝氏度 = (華氏度 - 32) * 5 / 9
溫差:某日最高溫度 - 某日最低溫度
任務要求
程序給定日期 date 和地點 place 的數據類型均是 str 類型;
程序返回結果的數據類型是 float 類型,如果最終結果是 numpy.float64 數據類型,請手動轉換成 Python 原生的 float 數據類型;
結果需要四舍五入保留小數點后 2 位,請在得到最終結果后處理小數問題,否則可能導致結果有偏差。
測試用例
輸入:date = ‘2月5日’,place = ‘Dallas’
輸出:-5.05
解釋:查詢表格可知,Dallas 在 2月 5 日溫度的最高值和最低值分別是 57.09 華氏度和 34.18 華氏度,
兩者的溫差是 22.91 華氏度,轉換為攝氏度:(22.91 - 32) * 5 / 9 = -5.05
輸入:date= ‘2月18日’,place = ‘Houston’
輸出:-1.78
解釋:查詢表格可知,Dallas 在 2月 5 日溫度的最高值和最低值分別是 75.7 華氏度和 46.9 華氏度,
兩者的溫差是 28.8 華氏度,轉換為攝氏度:(28.8 - 32) * 5 / 9 = -1.7777…. ≈ 1.78
輸入:date = ‘1月21日’,place = 'Las Vegas’
輸出:-1.99
任務實現
import pandas
class Solution:
? ? def temperature(self, date: str, place: str) -> float:
? ? ? ? # 將查詢日期轉換為日期字符串
? ? ? ? month, day_ = date.split("月")
? ? ? ? day, _ = day_.split("日")
? ? ? ? if len(month) == 1:
? ? ? ? ? ? month = "0" + month
? ? ? ? if len(day) == 1:
? ? ? ? ? ? day = "0" + day
? ? ? ? date_str = "2016" + "-" + month + "-" + day
? ? ? ? # 讀取數據
? ? ? ? url = "http://ws1.itmc.org.cn:80/JS00101/data/user/4799/208/fj_4097_temperature_2016_1_2.csv"
? ? ? ? temperature_data = pandas.read_csv(url, sep=",")
? ? ? ? # 獲取數據的日期字符串
? ? ? ? temperature_data["day"] = temperature_data["datetime"].str[:10]
? ? ? ? # 根據日期字符串選擇指定日期數據行
? ? ? ? day = temperature_data[temperature_data["day"] == date_str]
? ? ? ? # 根據地點選擇選擇溫度數據行
? ? ? ? city = day[place]
? ? ? ? # 溫度單位轉換
? ? ? ? temperature = (city.max() - city.min() - 32) * 5 / 9
? ? ? ? # 溫度精度處理
? ? ? ? return float(temperature.round(2))
print(Solution.temperature(Solution, date="2月5日", place="Dallas"))
print(Solution.temperature(Solution, date="2月18日", place="Houston"))
print(Solution.temperature(Solution, date="1月21日", place="Las Vegas"))
輸出為:
-5.05
-1.78
-1.99
原文鏈接:https://blog.csdn.net/mighty13/article/details/121265399
相關推薦
- 2023-03-02 sqlserver?合并列數據的實現_MsSql
- 2022-05-09 C++智能指針shared_ptr_C 語言
- 2022-11-07 如何使用python生成大量數據寫入es數據庫并查詢操作_python
- 2022-10-19 react-redux多個組件數據共享的方法_React
- 2024-01-30 關閉idea時出現waiting for process detach解決辦法
- 2022-04-18 Taro 中的 用戶下拉事件,onPullDownRefresh
- 2022-08-21 利用Python制作本地Excel的查詢與生成的程序問題_python
- 2022-06-26 python數據處理之Pandas類型轉換的實現_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支