《中小學生Python編程入門指南》2.1 設計開發一個計算器


第二章 設計自己的第一個Python應用 
1.1 設計開發一個計算器

    這一節我們來嘗試實現完成一個計算器的應用。畢竟我們是初學者,不可能做得那么完美,也不是真的需要實現,只是想借這一個應用的理解,我們帶入一些python的教學和其他的計算機相關知識。
    我們先想想,計算器我們需要什么功能?先不想象多么只能的計算器,我們要先實現簡單的會加減乘除的就可以了。那么我們就知道了,計算器是要有會加減乘除計算的功能的。那除此之外呢?我們想一下計算的流程,其實就是三個部分組成:①輸入、②計算、③輸出。好,那我們上一節學習了第一句python語句,知道了輸出可以用print。那還差輸入和計算。
    不知道我們同學有沒有用過實體的計算器,不是手機上或者電腦上的應用(application、app)。就是下圖這種:
    
    其實我們使用計算器跟我們的電腦,從組成上來說有異曲同工之妙。 如果拆過電腦主機或者筆記本電腦的同學應該知道,我們的電腦很復雜,里面包含很多硬件,但是總的來說就只有三種:CPU(處理器)、內存和I/O。CPU和內存相信很多人都聽過,那么I/O是什么?I/O其實就是Input/Output,輸入/輸出設備。CPU就是執行運算和管理控制內存和I/O的設備;內存用來存儲指令和數據;I/O則是將類似於鍵盤、鼠標、顯示器等設備和主機連接,實現數據的輸入和輸出。
    那我們接下來用python實現的計算器應用,最難的應該就是如何實現計算。我們先來學習python是不是可以實現我們需要的計算。
    比如說,我們先實現加法,3+4看看能否計算。
    
    看起來不行啊,那我們把雙引號去掉:
    
    可以了!上節我們解釋過了,加引號代表的是字符串,不加引號則是表達式。那我們再試一下可否計算其他運算。
    
    我們可以看到是可以計算的。
    那么我們的python能否計算帶小數點的數值呢?
    
    我們可以看到,python能夠計算帶小數的數值和負數
    那我們就知道了,python其實可以做計算,那按照我們前面的梳理,我們還需要有個地方來輸入。我們先實現簡單點,計算兩個數值的加減乘除。
    python用input("")來表示輸入。比如說,我們可以這樣用:
    
    我們可以編寫我們的程序了,我們新建一個txt文件,將下面程序代碼輸入,看看能否實現:
    
    我們保存文件,並把文件的后綴名改成py,雙擊運行看看能否運行。運行成功會出現這樣的界面,輸入數值看看能否計算。
    
    我們可以看到計算結果:
    
    是錯誤的!為什么呢?這其實就還是之前我們說的字符串問題,我們input接收到數據是默認是字符串,兩個字符串用加號的時候,就相當於拼接起來了。這還有版本差異,如果使用的是python2版本的,如果輸入數值,就會顯示數值,如果輸入字符,則會顯示字符串。python3版本的則是全部按字符串處理。這不算什么大問題,我們有辦法解決。
    
    我們加多上圖中框選的這兩句,保存,運行,看看有什么效果。
    
    我們先解釋一下這幾句代碼。前面兩行的意思大家應該都清楚了,就是將一些字符打印出來。第3行的意思,等於號后面我們剛才解釋過了,就是讓用戶輸入數據的。等於號是什么意思,大多計算機語言,單個等於號的意思就是“賦值”。將后面的內容賦值給了前面的對象,我們看這個單詞variable_1就是變量。就好像一個盒子,一開始就是個盒子,我們使用了魔法,說“你這個盒子,變成小汽車吧”,這個盒子就變成了小汽車。這就是變量,看名字就知道,會變的。 variable_1這是個變量,我們輸入了123這個數字,就相當於告訴了 variable_1說“你變成123吧”,它就是123了;跟它是“你是豬”,它就變成豬了。
    變量有很多種類型,我們先講3種,后面我們再講更多,前面提到的字符串,還有整數、浮點數。字符串好理解了,就是用雙引號、單引號包起來的。用英文表示為string,如果我們用python輸出來就是str。整數在數學上也都學過,我們就不多說了,那浮點數呢?浮點數是一種數字表示方法,可以用來表示小數。整數的英文是int,浮點數的英文是float。整數和浮點數的相關知識,我們同樣在附錄一中講解。
    為了體驗變量的不同,我們再學習一個新的魔法,type(),這可以顯示變量的類型。好像照妖鏡,照一下就知道是什么東西。我們使用cmd窗口演示變量。
    
    通過這個例子,我們可以看到變量的區分。那變量直接可以相互轉化嗎?當然可以,我們剛才使用的計算器程序,我們看第6、7句,就我們添加進去的兩句,我們使用了int()函數將variable_1和variable_2轉化成了int類型,所以我們才能正常計算。同樣的,我們把類型轉化成浮點數。我們把代碼改成下圖這樣,保存運行看看有什么變化。
    我們可以看到輸出的結果也變成了浮點數。兩個浮點數相加,結果也是浮點數,類型沒變
    
    這一節我們先講到這里,這個計算器還做得不完整,我們后面邊學其他內容邊完善。
    









免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM