python如何學習(三)
最近開始整理python的資料,博主建立了一個qq群,希望給大家提供一個交流的同平臺 78486745 。
一、第一個Python程序--HelloWorld
python的第一個程序也從hello world開始吧:
#!/usr/bin/env python
#! -*- coding:utf-8 -*-
print("Hello world!")
執行結果:
"C:\Program Files\Python37\python.exe" D:/python/Day1/test/HelloWorld.py
Hello world!
Process finished with exit code 0
二、If-else判斷
2.1 If-else語法規範
以下是if-else判斷的語法結構規範:
if condition1:
command_layer1_1
if condition2:
command_layer2_2
else:
command_layer2_2
else:
command_layer1_2
2.2 示例程序
以下為一個演示兩層if-else循環的程序:
#!/usr/bin/env python #頂格編寫 #! -*- coding:utf-8 -*- user_input = input("Please input you username:") if user_input == "Bob": #註意這裏的冒號結尾 passwd_input = input("Please input your password:") #註意從這裏開始,第一個if條件為真時需要執行的動作語句均需要左縮進4個空格 if passwd_input == "password": #第一個if下的第二個if,仍然要左縮進4個空格,同時冒號結尾 print("Welcome login,%s!" %user_input) #第二層if條件為真時執行的動作語句,需要在第一層語句基礎上再縮進4個空格,因此需要縮進8個空格 else: #第二層if-else中的else,因此需要與第二層if對齊,縮進4個空格 print("Invalid username or password, please check your input") #第二層if-else條件為假時執行的動作語句,同樣需要與第二層if一樣縮進8個空格 else: #第一層if-else中的else關鍵字,頂格冒號結尾 print("Invalid username or password, please check your input") #第一層if-else判斷條件為假時執行的動作,與第一層if一樣需要縮進4個空格
說明:該示例程序僅為演示多層if-else的語法結構,程序本身的設計存在漏洞;空格縮進在pycharm IDE環境中會被自動處理,但在普通文件編輯器中需要手動設置。
以下為改良版示例程序,通過引入對if的多條件判斷來避免上述程序的漏洞:
#!/usr/bin/env python #! -*- coding:utf-8 -*- username=input("Please input you username:\n") passwd=input("Please input you password:\n") if username == "Bob" and passwd == "password": print("Welcome login, %s!" %username) else: print("Invalid username or password, please check your input!")
此時只有用戶名和密碼同時輸入正確了才會給出相應提示,否則均提示口令無效,避免暴力破解。
2.3 if-elif-else擴展
上述判斷均為單一式的if-else判斷,以下為if-elif-else的判斷擴展:
語法結構:
if condition1:
command1
elif condition2:
command2
elif condition3:
command3
else condition4:
command4
不過這種結構僅僅適用於單一條件存在多種case情況下,語法結構看起來還是比較簡單,當然頂格、左縮進4個空格和冒號這些規範一樣要遵循。
還是來一個示例程序加深理解:
#!/usr/bin/env python
#! -*- coding:utf-8 -*-
age=int(input("Please input your age\n"))
if age >= 18:
print("Oh, you‘re an adult\n")
elif age >=6:
print("Ha, you‘re a teenager\n")
else:
print("Come on, little kid!\n")
三、For循環
最近開始整理python的資料,博主建立了一個qq群,希望給大家提供一個交流的同平臺 78486745 。
3.1 for循環語法規範
For循環的基本語法規範是:
for variable in XXX:
loop command
其中variable表示命名的變量,一般程序中使用i,j等等,XXX表示變化的範圍,可以是list列表,一般會考慮使用range函數,來表示一個整數序列,如range(5)就表示小於5的整數序列,即0-4。 語法規範中同樣需要for語句後面的結尾冒號,以及循環體中的4個空格的左縮進。
3.2 示例程序
猜數字遊戲,通過系統生成一個隨機數作為預設年齡,對用戶提供3次猜的機會,前兩次如果沒有猜中給出數字範圍大小的提示,如果第3次還沒有猜中則給予鼓勵提示,同時打印出這個預設的數字,當然三次當中有任何一次猜中會給用戶猜中提示的:
#!/usr/bin/env python
#! -*- coding:utf-8 -*-
import random #導入隨機數模塊
Age=random.randrange(10)#隨機生成一個小於10的整數(0-9,不包括負數),並賦值給Age
for i in range(3):
if i < 2:
guess_number=int(input("Please input the age of my dog you guess:\n"))
if guess_number > Age:
print("The age you guess is a little big, think smaller!\n")
elif guess_number < Age:
print("The age you guess is a little small, think bigger!\n")
else:
print("Bingo, you got the number,congratulations!\n")
break
else:
guess_number=int(input("Please input the age of my dog you guess:\n"))
if guess_number == Age:
print("Bingo, you got the number,congratulations!\n")
else:
print("Oh,you just got bad luck, come to try again, you can do it! The actual age of my dog is %d...\n"% Age)
註意:
- 為便於程序調試可先對Age賦值固定的數字
- 前兩次如果猜中了就需要退出循環,這裏使用了break關鍵字,意思是跳出整個循環,與之相對應的還有continue關鍵字,用於跳出當次循環,二者的使用區別在於是否執行完整個集合。
OK,現在來改進下程序, 當用戶連續三次猜錯後繼續給機會,讓用戶選擇是繼續猜還是直接退出,如果繼續則再一次獲得三次猜的機會,如此循環下去。還是用for循環吧:
#!/usr/bin/env python
#! -*- coding:utf-8 -*-
Age=22
counter=0
for i in range(10):
if counter < 3:
guess_number=int(input("Plese input your guess number:\n"))
if guess_number == Age:
print("You got the number, congratulations!")
break
elif guess_number > Age:
print("The number you guessed is too big, guess a smaller one\n")
else:
print("The number you guessed is too small, guess a bigger one\n")
counter += 1
elif counter == 3:
continue_flag=input("Do you want to continue? Please type Y to continue or N to quit:\n ")
if continue_flag == "Y":
counter = 0
else:
print("Bye")
break
else:
print("You‘ve tried too many times.")
這裏為了保證每一個輪回中的第四次(上述程序中的第四次和第八次)能讓程序繼續循環,引入了另外一個變量來進行計數並重置。把for循環換作while循環看起來差不多:
#!/usr/bin/env python
#! -*- coding:utf-8 -*-
Age=22
i=0
counter=0
while counter < 10:
if i < 3:
guess_number=int(input("Plese input your guess number:\n"))
if guess_number == Age:
print("You got the number, congratulations!")
break
elif guess_number > Age:
print("The number you guessed is too big, guess a smaller one\n")
else:
print("The number you guessed is too small, guess a bigger one\n")
i += 1
else:
continue_flag=input("Do you want to continue? Please type Y to continue or N to quit:\n ")
if continue_flag == "Y":
i = 0
else:
print("Bye")
break
counter +=1
小結
- Python是一門主流且發展迅猛的開發語言,目前存在2.x和3.x兩個版本分支,前端後端都能勝任,功能強大,在互利網公司應用廣泛,值得托付;
- Python程序的開發需要安裝解釋器和IDE,建議使用pycharm,2.x和3.x下的默認字符編碼不同,永遠推薦使用utf-8編碼,包括程序編碼和解釋的編碼兩個層面;
- 系統自帶模塊和自定義編寫的模塊均可以通過import導入使用;
- 在進行python程序開發時,註意代碼需要分層體現,第一層代碼頂格編寫,第二層(用在第一次出現的流程控制語句中的代碼塊)左縮進4個空格;
- input用於接收用戶輸入,默認輸入的數據類型是字符串,可通過int關鍵字轉換為整數。print可進行簡單輸出,如要格式化輸出則需要借助%s %d %f等來實現,具體視數據類型而定;
- 流程控制語句if-else判斷和for、while循環都需要註意代碼書寫格式,流程控制語句關鍵字一定是以冒號結尾,具體的流程控制代碼塊則需要左縮進處理,第一層左縮進4個空格,第二層8個空格,以此類推;
- continue和break可分別用於退出當前(當次)流程控制和整個循環,課堂上演示了在for循環中的使用,在if-else判斷中不能使用。
【搜索圓方圓,獲得“python教程”,“python下載”,“python入門”類相關信息。】
python如何學習(三)