網(wǎng)站首頁 編程語言 正文
任務(wù)詳情
給定一各地 2016 年 1 月和 2 月各個時(shí)間點(diǎn)的溫度表格,表格預(yù)覽見頁面下方。
數(shù)據(jù)表的第二列表示當(dāng)前時(shí)間,數(shù)據(jù)表第一行第三列到第一行最后一列表示地點(diǎn)。
如:表格的第二行第三列 30.36 表示:Vancouver (溫哥華)在 2016-01-01 00:00:00 這一時(shí)刻的溫度是 30.36 度(華氏度)。
程序給定一個日期(date)和一個地點(diǎn)(place),要求返回該地在這個日期下的溫差(攝氏度)。
注意:華氏度需要轉(zhuǎn)換成攝氏度!
華氏度轉(zhuǎn)攝氏度公式:攝氏度 = (華氏度 - 32) * 5 / 9
溫差:某日最高溫度 - 某日最低溫度
任務(wù)要求
程序給定日期 date 和地點(diǎn) place 的數(shù)據(jù)類型均是 str 類型;
程序返回結(jié)果的數(shù)據(jù)類型是 float 類型,如果最終結(jié)果是 numpy.float64 數(shù)據(jù)類型,請手動轉(zhuǎn)換成 Python 原生的 float 數(shù)據(jù)類型;
結(jié)果需要四舍五入保留小數(shù)點(diǎn)后 2 位,請?jiān)诘玫阶罱K結(jié)果后處理小數(shù)問題,否則可能導(dǎo)致結(jié)果有偏差。
測試用例
輸入:date = ‘2月5日’,place = ‘Dallas’
輸出:-5.05
解釋:查詢表格可知,Dallas 在 2月 5 日溫度的最高值和最低值分別是 57.09 華氏度和 34.18 華氏度,
兩者的溫差是 22.91 華氏度,轉(zhuǎn)換為攝氏度:(22.91 - 32) * 5 / 9 = -5.05
輸入:date= ‘2月18日’,place = ‘Houston’
輸出:-1.78
解釋:查詢表格可知,Dallas 在 2月 5 日溫度的最高值和最低值分別是 75.7 華氏度和 46.9 華氏度,
兩者的溫差是 28.8 華氏度,轉(zhuǎn)換為攝氏度:(28.8 - 32) * 5 / 9 = -1.7777…. ≈ 1.78
輸入:date = ‘1月21日’,place = 'Las Vegas’
輸出:-1.99
任務(wù)實(shí)現(xiàn)
import pandas
class Solution:
? ? def temperature(self, date: str, place: str) -> float:
? ? ? ? # 將查詢?nèi)掌谵D(zhuǎn)換為日期字符串
? ? ? ? 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
? ? ? ? # 讀取數(shù)據(jù)
? ? ? ? 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=",")
? ? ? ? # 獲取數(shù)據(jù)的日期字符串
? ? ? ? temperature_data["day"] = temperature_data["datetime"].str[:10]
? ? ? ? # 根據(jù)日期字符串選擇指定日期數(shù)據(jù)行
? ? ? ? day = temperature_data[temperature_data["day"] == date_str]
? ? ? ? # 根據(jù)地點(diǎn)選擇選擇溫度數(shù)據(jù)行
? ? ? ? city = day[place]
? ? ? ? # 溫度單位轉(zhuǎn)換
? ? ? ? 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
相關(guān)推薦
- 2022-07-30 Linux下查看文件和文件夾大小
- 2022-12-08 Python中的pandas庫簡介及其使用教程_python
- 2023-06-16 Golang調(diào)用FFmpeg轉(zhuǎn)換視頻流的實(shí)現(xiàn)_Golang
- 2022-06-21 Android?使用flow實(shí)現(xiàn)倒計(jì)時(shí)的方式_Android
- 2022-06-13 ASP.NET?Core?MVC路由(Routing)的用法_基礎(chǔ)應(yīng)用
- 2023-04-02 淺談Android開發(fā)Webview的Loading使用效果_Android
- 2022-11-14 redux與react-redux的學(xué)習(xí)筆記之react-redux
- 2022-12-30 解決React報(bào)錯useNavigate()?may?be?used?only?in?context
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支