Pyhton編程(二)之變量、用戶輸入及條件語句
一:變量
變量定義的規則
1)只能由數字、字母、下劃線組成(不能以數字開頭)
2)不能使用關鍵字作為變量名
[‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘] (可作為了解,不需要死記,因為當使用python解釋器編寫程序的時候,如果誤用關鍵字作為變量名,解釋器會標紅該變量名)
3)最好不要使用Pyhton的內置函數作為變量名
舉個例子:現在用內置函數sum求和
print(sum([11,22,33])) //求11+22+33的和,結果輸出自然是66
而此時我做如下操作:
sum=123 //我將sum作為變量名,並給他賦值123 print(sum([11,22,33])) //再求11+22+33的和
再次執行此程序會發現程序報錯“TypeError: ‘int‘ object is not callable”,這是因為先將sum賦值了123,再讓它進行求和,就會報類型錯誤,所以最好不要用內置函數作為變量名使用
聲明變量及賦值
#!/usr/bin/env python # *-* coding:utf-8 *-* name="czp"
聲明了一個變量name,並給他賦值為“czp”。變量就可以理解為一個昵稱,來代指在內存中某個地址中的內容
二:用戶輸入
input:永遠等待,直到用戶輸入了一個值,該程序才會繼續執行下午,並將輸入的值賦值給某一個變量,這麽說可能不太能理解,下面我寫一個簡單的應用場景:
應用場景:提示用戶輸入用戶名和密碼,輸入正確輸出“Welcome”,輸入錯誤輸出“Failed”
user="root" //首先在循環外面定義用戶名及密碼password="root" user1=input("請輸入您的用戶名:") //使用input提示用戶輸入,如果不輸入,程序將停滯,不繼續向下執行 password1=input("請輸入您的登陸密碼:") if user1==user and password1==password: //使用if..else條件語句將用戶輸入的用戶名密碼與自己定義的用戶名密碼進行比對 print("Welcome") else: print("Failed")
在這裏提前說一個知識點,按上述代碼編寫方式,輸入的密碼是明文的,這裏很多人會想要使自己的密碼加密,這時需要導入一個getpass模塊
#導入getpass模塊
import getpass user="root" password="root" user1=input("請輸入您的用戶名:")
#在這裏使用getpass.getpass代替input,提示用戶輸入密碼,此時輸入的密碼顯示就是密文 password1=getpass.getpass("請輸入您的登陸密碼:") if user1==user and password1==password: print("Welcome") else: print("Failed")
但這種形式在pycharm解釋器中會卡住不運行,在自帶的python IDE是可以的,方法是正確的,但為什麽出現這種BUG,說法很多,不多解釋,這裏只要記住這個問題就行了
三:if條件語句
if基本語句
if條件: 內部代碼塊.. else: 內部代碼塊.. ..........
例子參考上一節用戶輸入的第一個例子,就是一個最簡單的if基本語句的使用
if條件語句可以嵌套
if條件1: if條件2: 內部代碼塊.. else: 內部代碼塊.. else: 內部代碼塊.. ..........
在寫if嵌套語句的時候一定要註意代碼的縮進問題,所以初步學習的時候不建議加多個嵌套,否則很容易出現邏輯混亂甚至導致程序運行出錯
應用場景:1)輸入用戶名,判斷該用戶名是否正確,如果正確,則進入該用戶,否則輸出“Invaild user”
2)如果用戶名正確,提示用戶輸入密碼,如果密碼輸入正確,輸出“Welcome”,否則輸出“Faild”
user="czp" user1=input("請輸入您的用戶名:") if user1==user: n1=input("請輸入你的密碼:") if n1=="1": //“==”是兩個值比較,“=”是賦值,這一點一定要清楚 print("Welcome") else: print("Faild") else: print("Invalid user")
註:一定要註意代碼的縮進問題。
if..elif...else語句:
if條件1: pass //pass指代空代碼 內部代碼塊... elif條件2: 內部代碼塊 else: 內部代碼塊..
此種場景應用與較多條件的判斷,elif..可以多次使用。
四:while循環語句
1.基本while循環
while 條件: # 循環體 # 如果條件為真,那麽循環體則執行 # 如果條件為假,那麽循環體不執行
2.break
while True: print "111" break //當輸入break時,就退出所有循環 print "222"
3.continue
while True: print "111" continue //當輸入continue,退出當前循環,繼續下一次的循環 print "222"
continue和break的區別就是:雖然都是退出當前循環,continue是繼續執行程序,也就是說程序依舊在運行,而break就是直接跳出程序,程序終止。
五:練習
1)使用while循環輸出 1 2 3 4 5 6 8 9 10(註意:沒有7)
2)求1-100的所有數的和
3)輸出 1-100 內的所有奇數
4)求1-2+3-4+5 ... 99的所有數的和
3)用戶登陸,登陸成功提示Welcome,登陸失敗提示Failed,只有三次機會,三次輸入錯誤,自動退出程序
註:以上5道題會在下一邊文章開篇做詳細講解。
Pyhton編程(二)之變量、用戶輸入及條件語句