天天看點

python父與子的程式設計

一、安裝python3,C:\Users\liting.che\AppData\Local\Programs\Python\Python36

二、啟動

(一)IDLE啟動

IDLE:是一個python shell。shell是“外殼”意思,這是一個通過鍵入文本和成簇的互動途徑,利用shell和python互動,本身是一個GUI模式(圖形使用者界面)。

打開方式:C:\Users\liting.che\AppData\Local\Programs\Python\Python36\Lib\idlelib\idle.bat,輕按兩下打開指令視窗

輸入指令:print “Hello Word”

遇到問題:調用“print”時缺少括号。你是說列印(“Hello word”)嗎?

python父與子的程式設計

解決:python3中print後得帶括号

正确的輸入:print ("Hello word")

python父與子的程式設計

 (二)IDLE指令:

1.IDLE為什麼會有不同的顔色?

便于區分代碼(code)不同部分。

2.術語:

關鍵字(keyword):作為python語言一部分的特殊詞,也稱為保留字(reserved Word)

3.python的應用

計算、列印語言、反複做事情

python父與子的程式設計

 讓列印30個“hahaha”

python父與子的程式設計

 三、程式設計

第一個程式設計

程式設計需要在文本編輯器進行,在IDLE中file-->new file

python父與子的程式設計

 在檔案編輯器中鍵入代碼,進行儲存,file-->save as-->pzzia.py

運作程式,在untitled視窗點選run-->run module後,在python shell視窗檢視運作結果。

python父與子的程式設計

 第二個程式設計

python父與子的程式設計

import random

secret = random.randint(1,999)

guess = 0

tries = 0

print ("蛋叔,我們來玩個遊戲吧")

print ("我心裡有個數字在1-999之間,你猜是多少?我給你6次機會看你能猜到不")

while guess != secret and tries < 6:

guess = int (input("你猜的是什麼? "))

if guess < secret:

print("太低,你個笨蛋")

elif guess > secret:

print ("太高了,又浪費一次機會")

tries = tries +1

if guess == secret:

print ("好吧,你猜對了")

else:

print ("别再猜了,下次運氣會好的,夥計")

print ("這個數字是",secret)

 四、記憶體和變量

程式:程式是給計算機下達的一系列指令

一定要記住,輸入、處理、輸出

記憶體:賦予的變量值會存儲起來,不需要關注具體存儲位置,隻需要知道如何調用,重新賦予變量值後,長期不用的值電腦會自動清理。

變量名規則:

1.區分大小寫,a 和A不同

2.變量名以字母和下劃線_開頭,不能以數字開頭

3.變量名不能有空格

專業的python程式員給變量命名時,常用小寫字母開頭。

 五、數字、字元串

拼接:變量值為兩個字元串的時候,兩個變量“+”後,兩個字元串緊密拼接在一起,變成一個長字元串。

長字元串:多行的字元串,用"""   """  或  \'\'\'   \'\'\' 三重引用。

記住一句話:最常見的bug就是改變了不該改變的變量,或者盡管改變的變量無誤,但是時機不合适。

六、四則運算

  • 整除:

在Python 2 中,做除法的方式稱為“整除”(floor division)。但Python 3的工作方式不一樣,在Python 3 中,如果你使用正常的除法操作符(前斜杠“/”),則做的是正常除法,而不是整除。

>>> print 3/2

1.5

要在Python 3 中做整除,需要使用兩個前斜杠(//):

>>> print 3//2

1

這是Python 2 和Python 3 最顯著的差別之一,也是導緻很多Python 2 程式與Python 3 程式不相容的原因。

切記:要記住Python 2 的這種整除行為。這很重要,很多Python 程式員(包括我自己)都曾經因為忘記這一點犯過錯。

  • 操作符:

+、-、* 和/ 、=符号都稱為操作符。

  • 運算順序

Python 會遵循正确的數學規則,是以它會先做乘法再做加法。

Python 使用的順序與你在數學課上學到的(或者将要學到的)規則完全相同。指數運算最優先,然後是乘除,再後面是加減運算。

  • 另外兩個操作符

指數—自乘為一個幂

Python 用一個雙星号表示指數或者将一個數自乘為一個幂

如,3的5次幂,就是3 ** 5

切記:很多語言和程式可能使用其他符号來表示自乘為一個幂。一種常用的符号是^ (例如3^5)。如果在Python 中使用這個符号,你不會得到一個錯誤消息,隻不過答案不正确。(這是因為,^ 在Python 中另有含義——我們可不希望這樣!)這個問題可能很難調試。一定要使用** 操作符表示自乘為一個幂[ 也稱為求幂(exponentiation)]。

取餘—求餘數

這個符号是百分号(%)

自增和自減操作符:+=(自增)和-=(自減)。

E 記法:計算機中顯示非常大或非常小的數時采用的一種方法。

寫作3.8E16 或者3.8e16。讀作“3.8 指數16”或者簡讀作“3.8 e 16”。這裡假設指數是10 的幂。這就等同于寫成3.8×1016

寫作1.752×10-13,E 記法會寫作1.752e–13。

指數和E記法的差別:

3 ** 5=3*3*3*3*3

3e5=3*10**5=3*10*10*10*10*10

七、資料的類型

改變類型

  • float() 從一個字元串或整數建立一個新的浮點數(小數)。
  • int() 從一個字元串或浮點數建立一個新的整數。int() 函數總是下取整。就是去掉小數部分。
  • str() 從一個數(可以是任何其他類型)建立一個新的字元串。

要記住,在互動模式中,可以直接鍵入變量名(而不需要使用print),Python會顯示這個變量的值(這在第2 章中曾經見過)。不過這隻在互動模式中奏效,在程式中是行不通的。

問題:

python父與子的程式設計

 原因:

Python 會用足夠多的二進制位(比特)建立一個浮點數(小數)來保證15 個小數位。不過這個二進制數并不完全等于0.3,它隻是相當相當接近。(在這裡,誤差是.000000000000004。)這個差稱為舍入誤差(roundoff error)。

得到更多資訊:type()

python父與子的程式設計
python父與子的程式設計
python父與子的程式設計

 八、輸入

 Python 有一個内置函數, 名為raw_input(),

使用:

python父與子的程式設計

 print 指令和逗号

python父與子的程式設計

輸入

input()函數可以直接列印消息,是以你根本不必使用print 語句

python父與子的程式設計

 攝氏度轉換題可重新寫成如下程式;

python父與子的程式設計

  來自網際網路的輸入

python父與子的程式設計

 練習題:

python父與子的程式設計

 練習題答案:

測試題:

python父與子的程式設計

 動手試一試:

1,2

python父與子的程式設計

 3,4題答案

python父與子的程式設計

 5題答案

python父與子的程式設計

 九、GUI—圖形使用者界面

 有GUI 的程式仍然有3 個基本要素:輸入、處理和輸出,但它們的輸入和輸出更豐富、更有趣一些。

 1、安裝EasyGui

下載下傳位址:https://sourceforge.net/projects/easygui/

版本:0.97

放置路徑:C:\Users\liting.che\AppData\Local\Programs\Python\Python36

建立GUI:

啟動IDLE,在互動模式鍵入以下指令:

python父與子的程式設計

 這會告訴Python 你打算使用EasyGui 子產品。如果沒有得到錯誤消息,說明Python 找到了EasyGui 子產品。

現在來建立一個包含OK 按鈕的簡單消息框:

python父與子的程式設計

EasyGui msgbox() 函數用于建立一個消息框。大多數情況下,EasyGui 函數的名就是相應英語單詞的縮寫。

使用msgbox() 時,會看到類似這樣的結果:

如果點選OK 按鈕,這個消息框會關閉。

GUI 輸入

定義一個變量名,輸入後,點選ok,不會顯示,必須print列印變量名,才會顯示ok

python父與子的程式設計

 自定義gui界面

文本提示方法:buttonbox

選擇控件方法:choices=[]

python父與子的程式設計
python父與子的程式設計

 選擇框

python父與子的程式設計
python父與子的程式設計

調整下拉框大小,找到easygui.py檔案,找到def__choicebox 開頭的一節,在

root_width = int((screen_width * 0.8))

root_height = int((screen_height * 0.5))

代碼裡改寬高的大小

文本輸入,用方法:easygui.enterbox("")

python父與子的程式設計
python父與子的程式設計

預設輸入:用方法:default = \'\'

python父與子的程式設計

 數字

easygui.integerbox("你猜的是什麼? ")

其他GUI 元件

包括允許多重選擇(而不是隻選擇一項)的選擇框

還有一些特殊的對話框用來得到檔案名等内容

在互動模式中,可以在互動提示符後面鍵入>>>help()

進入help> 模式下,輸入以下指令檢視幫助文檔

如:help>easygui.msgbox

python父與子的程式設計

help> time.sleep

help> quit

 十、判斷再判斷

代碼塊(block)是一行或放在一起的多行代碼。它們都與程式的某個部分相關(比如一個if 語)。在Python 中,通過将塊中的代碼行縮進來構成代碼塊。

縮進

在Python 中,編寫代碼時縮進是必不可少的一部分,Python中有一個慣例:總是将代碼塊縮進4 個空格。在你的程式中最好也采用這種風格

Python

中有一個慣例:總是将代碼塊縮進4 個空格。在你的程式中最好也采用這種風格

操作符

= 和== 差別

小于(<)、大于(>)和不等于(!=)。(還可以使用<> 表示不等于,不過大多數人都用!=。)還可以把> 或< 與= 結合起來表示大于或等于(>=)以及小于或等于(<=)。

在Python 3 中,不再支援<> 形式的不等于,隻能使用!= 來表示不等于。

比較操作符(comparison operator)也稱為關系操作符(relational operator),因為它們要測試兩邊值的關系(relation):相等還是不相等,大于還是小于。比較也稱為條件測試(conditional test)或邏輯測試(logical test)。在程式設計中,邏輯(logical)就是指某個結論的答案是真還是假。

 多個條件

age = float(raw_input("Enter your age: "))

grade = int(raw_input("Enter your grade: "))

if age >= 8:

  if grade >= 3:

    print "You can play this game."

else:

  print "Sorry, you can’t play the game."

python父與子的程式設計

使用and

python父與子的程式設計

 使用or

python父與子的程式設計

 使用not

這行代碼 :if not (age < 8):

與這行代碼:if age >= 8:

python父與子的程式設計

 十、循環

計數循環:重複一定次數的循環,它叫做for 循環

條件循環:重複直至發生某種情況時結束的循環,while 循環

失控的循環:ctrl+C停止python程式

中括号做什麼用:利用中括号和數之間的逗号來建立清單list,隻要知道清單是一種容器,可以存放一堆東西。

range() 函數:你可以隻輸入起始值和結束值,它就會為你建立這二者之間的所有值。會建立一個清單,其中包含某個範圍内的數,

python父與子的程式設計

 —循環變量名:

常使用字母i、j、k 等作為循環變量,,i、j、k 不應當有其他用途

range() 簡寫:

不一定非得為range()提供兩個數:

for i in range (5):

這與寫作: for i in range (0, 5):

一樣,都代表[0,1,2,3,4],

隻是需要知道,第一次循環時i 将等于0

而不是1,而最後一次循環時,它将等于4 而不是5。

按步長計數:

range(a,b,c),其中a,b是具體從哪到哪,c是參數,間隔幾

range() 函數中的第3 個參數是負數時,循環會向下計數

 跳出循環——break 和continue

條件為true,循環繼續運作。正是這個原因,這種條件循環也稱為while 循環,它使用了Python 的while 關鍵字。輸入不等于3 時,條件為false,循環停止。

 十一、注釋

增加注釋

單行注釋

行末注釋

多行注釋

三重引号字元串

python父與子的程式設計