Python基本语法元素之温度转换
Python基本語法元素之溫度轉換
僅憑個人理解自學的筆記
溫度轉換1.0
溫度的刻畫有兩個不同體系:攝氏度(Celsius)和華氏度(Fahrenheit)。????????????????????????????????????????????????????????????????????????????????????????????????
請編寫程序將用戶輸入華氏度轉換為攝氏度,或將輸入的攝氏度轉換為華氏度。????????????????????????????????????????????????????????????????????????????????????????????????
轉換算法如下:(C表示攝氏度、F表示華氏度)????????????????????????????????????????????????????????????????????????????????????????????????
要求如下:????????????????????????????????????????????????????????????????????????????????????????????????
(1) 輸入輸出的攝氏度可采用大小寫字母C結尾,溫度可以是整數或小數,如:12.34C指攝氏度12.34度;????????????????????????????????????????????????????????????????????????????????????????????????
(2) 輸入輸出的華氏度可采用大小寫字母F結尾,溫度可以是整數或小數,如:87.65F指華氏度87.65度;????????????????????????????????????????????????????????????????????????????????????????????????
(3) 輸出保留小數點后兩位,輸入格式錯誤時,輸出提示:輸入格式錯誤;????????????????????????????????????????????????????????????????????????????????????????????????
(4) 使用input()獲得測試用例輸入時,不要增加提示字符串。
代碼如下
TempStr = input() if TempStr[-1] in ['F', 'f']:C = (eval(TempStr[0:-1]) - 32)/1.8print("{:.2f}C".format(C)) elif TempStr[-1] in ['C', 'c']:F = 1.8*eval(TempStr[0:-1]) + 32print("{:.2f}F".format(F)) else:print("輸入格式錯誤")-
input()
輸入函數,讓用戶從控制臺輸入
(似乎輸入默認為字符串) -
TempStr[-1]
表示輸入字符串的最后一個字符
索引:返回字符串中單個字符 <字符串>[M] -
[‘ F ’,‘ f ’]列表類型
表示兩個元素 F 和 f
由0個或多個數據組成的有序列表,列表中的元素用 “,” 隔開 -
保留字 in
判斷一個元素是否在列表中
第二行整體表示 輸入的字符串的最后一項是否與列表中的兩個元素相同
即 實現判斷輸入的格式是否為以大小寫字母F結尾的華氏溫度
-
TempStr[0:-1]
表示輸入字符串的第一個字符到倒數第二個字符為止的一段字符子串
切片:返回字符串中一段字符字串 <字符串>[M:N] -
eval()
去掉參數最外側引號并執行余下語句的函數
例如 eval(print(“Hello World”)) 輸出結果為 Hello World
eval(TempStr[0:-1]) 多用于將輸入字符串轉換為數字
第三行則表示將輸入字符串的除去最后一個字符的字符子串轉換為數字進行運算,實現了華氏溫度轉換為攝氏溫度的運算
-
print()
{:. 2f} 表示結果保留小數點后兩位 -
if elif else
均為分支語句,分支語句后均需要帶 “ :”
溫度轉換2.0
要求如下:????????????????????????????????????????????????????????????????????????????????????????????????
(1) 輸入輸出的攝氏度采用大寫字母C開頭,溫度可以是整數或小數,如:C12.34指攝氏度12.34度;????????????????????????????????????????????????????????????????????????????????????????????????
(2) 輸入輸出的華氏度采用大寫字母F開頭,溫度可以是整數或小數,如:F87.65指華氏度87.65度;????????????????????????????????????????????????????????????????????????????????????????????????
(3) 不考慮異常輸入的問題,輸出保留小數點后兩位;????????????????????????????????????????????????????????????????????????????????????????????????
(4) 使用input()獲得測試用例輸入時,不要增加提示字符串。
代碼如下
TempStr = input() if TempStr[0] in ['F']:C = (eval(TempStr[1:]) - 32)/1.8print("C{:.2f}".format(C)) elif TempStr[0] in ['C']:F = 1.8*eval(TempStr[1:]) + 32print("F{:.2f}".format(F)) else:print()這道屬于溫度轉換問題的衍生,題目要求有一些改動,所以看到題目后一定一定一定要看清楚要求。1.0已經大致了解了python的基本語法元素,根據2.0來寫一下溫度轉換的代碼分析。
代碼分析
第一行使用 input函數 從控制臺獲得輸入的信息,用戶輸入的信息比如“F82”將會保存在變量 TempStr 中,它是一個表達溫度的字符串類型的變量。
第二行 保留字if 表達的是一個分支語句,它會判斷后面的條件,即用戶輸入的字符串的第一個字符,用保留字in判斷第一個字符是不是大寫的F,即判斷第一個字符是否在F組成的列表之中。
若第二行成立則進行第三行第四行 對華氏溫度進行轉換成攝氏溫度,若第二行不成立則跳過第三四行直接執行第五行elif這條分支語句,來進一步判斷TempStr的第一位是否為大寫的C,即用戶輸入的信息是不是攝氏度,如果成立,則執行第六七行攝氏溫度轉化成華氏溫度的運算,若elif分支語句不成立則跳過執行else分支語句。
第三行我們使用eval函數對TempStr除去第一位之外的其他位進行運算,比如用戶輸入“C82”,此處 TempStr[1:] 表示除去“C82”整個字符串第一位之外的剩余字符子串即“82”。再用eval函數將字符串“82”轉換成數字類型82進行運算。
第四行輸出結果即可,第六行關于攝氏溫度轉換成華氏溫度的運算與第三行相同,不做解釋。
總結
以上是生活随笔為你收集整理的Python基本语法元素之温度转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 法国第一代反战车导弹?
- 下一篇: 主屋的墙与配房前墙不齐可以吗