今天通過乙個溫度轉換的十行**,理解了一些python的基本元素。
所謂溫度轉換,就是攝氏度和華氏度的轉換,要求輸入攝氏度,可以輸出華氏度,反之一樣能實現。**如下:
#tempconvert.py
tempstr = input("請輸入帶有符號的溫度值:")
if tempstr[-1] in ['f','f']:
c = (eval(tempstr[0:-1]-32)/1.8)
print("轉換後的溫度是c".format(c))
elif tempstr[-1] in ['c','c']:
f = 1.8*(eval(tempstr[0:-1])+32)
print("轉換後的溫度是f".format(f))
else:
print("輸入格式錯誤")
只有十行,但還是看不懂?沒關係,我開始也不懂,接下來我逐行梳理一遍,感興趣的話也可以和我從這十行**開始,了解一些python的基本元素。
第1行 #tempconvert.py
這行是注釋,只是為了提高**的可讀性,不參與**的執行。
python的注釋有兩種,單行注釋使用#,多行注釋可以使用在注釋內容前後用三個單引號來實現。
第2行 tempstr = input("請輸入帶有符號的溫度值:")
其中tempstr是乙個變數,通過「=」來進行賦值。變數命名規則首字元不能是數字,不能和保留字元相同,區分大小寫。
input()是輸入函式,獲取使用者輸入的資訊,使用者輸入的資訊以字串的形式儲存在《變數》中。
雙引號裡面的是字串,這裡作用是程式的提示符。
結合起來看,就是顯示一段提示文字,然後要輸入乙個帶符號的溫度值,以字串的形式賦值給tempstr。
第3行 if tempstr[-1] in ['f','f']:
if是分支語句,python的分支語句除了if還有elif,else。它們後面都要帶乙個冒號,這是語法的一部分。
方括號代表資料型別是列表型別,關於資料型別還有整數型別和字串型別。
in也是保留字元,用來判斷是否在列表中。
結合起來理解,這行**的意思是,如果變數tempstr中的最後一位,包含f或f,也就是單位是華氏度時,那麼就執行下面的**。
第四行 c = (eval(tempstr[0:-1])-32)/1.8
其中c也是變數,需要將計算的結果賦值給c。
[0:-1]代表字串的切片,表示的意思是從字串第一位,到不包含最後一位。也就是提取了單位前的數字。
eval()函式用來執行計算表示式,可以實現去除字串兩邊的引號。由於上面是字串的切片,提取的是乙個字串,去掉兩邊引號後就可以參與到後面的計算了。
結合起來看,就是將華氏度的數值,通過公式的計算,結果返回給c。
第五行 print("轉換後的溫度值是:c".format(c))
print()是輸出函式,以字串形式將結果顯示出來。
代表保留兩位小數,{}代表槽,後續的變數將會引入到這裡。這裡是將.format(c)中c變數引入進來,也就是第四行計算出的值。
結合來看,就是輸出計算後的攝氏溫度的值。
第6~10行**,除了簡單的分支語句的區別,其它的在上面都有涉及,主要就是當判斷輸入為華氏度時,計算輸出攝氏度。以及格式不對的情況下顯示的字串。
這樣一梳理,十行**就清晰多了。今天還做了幾道習題鞏固了一下,說是舉一反三,實際上是搞懂了三,才對這個一理解更深刻一些。
關於溫度轉換問題就聊到這裡吧,據說明天又要降溫了,大家注意保暖。
計算機二級Python學習筆記(四)
程式流程圖7種基本元素 起止框 表示程式邏輯的開始或結束 判斷框 表示乙個判斷條件,並根據判斷結果選擇不同的執行路徑 處理框 表示一組處理過程,對應於順序執行的程式邏輯 輸入輸出框 表示程式中的資料輸入或結果輸出 注釋框 表示程式的注釋 流向線 表示程式的控制流,以帶箭頭直線或曲線表達程式的執行路徑...
計算機二級Python學習筆記(九)
最後三章一起了,還以為我一章一篇部落格呢,怎麼可能這麼輕易被猜透?比第一篇華麗的分割線 turtle庫 python重要的標準庫之一,進行基本的圖形繪製。三種引入方式 import turtle turtle.circle 200 from turtle import circle 200 impo...
計算機二級筆記(二)
組合資料型別 一.列表 list 1,3,5,7,9 print list 1,3,5,7,9,11 若要在指定位置新增元素,則使用insert 函式insert 函式有兩個引數,第1個表示插入位置,第2個表示插入的元素,如在第3個位置插入元素6 list 1,3,5,7,9 list.insert...