2018-02-19 17:15:14 Python語言相對於其他語言較為簡潔,也相對好入門比如後面不加分號,基本見不著大括弧等優點 第一個程式,也是學每門語言都需要掌握的第一個代碼 print("Hello World") print 語句用法 接下來是輸入用戶名密碼 進行格式化拼接 由以上可以看 ...
2018-02-19 17:15:14
Python語言相對於其他語言較為簡潔,也相對好入門比如後面不加分號,基本見不著大括弧等優點
- 第一個程式,也是學每門語言都需要掌握的第一個代碼
print("Hello World")
- print 語句用法
1 print 'a', 'b' #print可以接受多個參數,參數的輸出之間以空格相隔。 2 print 'a', #如果逗號之後沒有參數,則不會換行。 3 print 'b'
- 接下來是輸入用戶名密碼
1 import getpass 2 3 _username = 'lym' 4 _password = 'abc123' 5 username = input("username:") 6 #password = getpass.getpass("password:") 7 password = input("password:") 8 if _username == username and _password == password: 9 print("Welcome user {name} login...".format(name=username)) 10 else: 11 print("Invalid username or password!")
- 進行格式化拼接
1 name = input("name:") 2 #age = input("age:") 3 age = int(input("age:")) 4 print(type(age), type( str(age) )) 5 job = input("job:") 6 salary = input("salary:") 7 8 #用這種比較好 9 info = ''' 10 --------------info of %s 11 Name:%s 12 Age:%d 13 Job:%s 14 Salary:%s 15 '''%(name,name,age,job,salary) 16 17 18 info2 = ''' 19 --------------info of {_name} 20 Name:{_name} 21 Age:{_age} 22 Job:{_job} 23 Salary:{_salary} 24 '''.format( 25 _name = name, 26 _age = age, 27 _job = job, 28 _salary = salary 29 ) 30 31 32 info3 = ''' 33 --------------info of {0} 34 Name:{0} 35 Age:{1} 36 Job:{2} 37 Salary:{3} 38 '''.format(name,age,job,salary) 39 40 print(info3)
由以上可以看出,想輸入一個英文或者數字可以這樣寫
1 name = input("name:")
簡單而快捷
-
format方法
有時我們並不想用其他信息來構造字元串。這兒format()方法就很有用。
python從2.6開始支持format,新的更加容易讀懂的字元串格式化方法,
從原來的% 模式變成新的可讀性更強的
-
花括弧聲明{}、用於渲染前的參數引用聲明, 花括弧里可以用數字代表引用參數的序號, 或者 變數名直接引用。
-
從format參數引入的變數名 、
-
冒號:、
-
字元位數聲明、
-
空白自動填補符 的聲明
-
千分位的聲明
-
變數類型的聲明: 字元串s、數字d、浮點數f
-
對齊方向符號 < ^ >
-
屬性訪問符中括弧 ☐
-
使用驚嘆號!後接a 、r、 s,聲明 是使用何種模式, acsii模式、引用__repr__ 或 __str__
-
增加類魔法函數__format__(self, format) , 可以根據format前的字元串格式來定製不同的顯示, 如: ’{:xxxx}’ 此時xxxx會作為參數傳入__format__函數中。
- 註釋
最簡單的註釋“#”
比如:
#print("這是一個註釋")
多行註釋: """ """
''' for i in range(10): if i<5: continue #不往下走了,直接進入下一次loop print("loop:", i ) '''
整段話就被全部註釋掉了,也很簡單
- 迴圈
表達式if ... else
1 # 提示輸入用戶名和密碼 2 3 # 驗證用戶名和密碼 4 # 如果錯誤,則輸出用戶名或密碼錯誤 5 # 如果成功,則輸出 歡迎,XXX! 6 7 8 #!/usr/bin/env python 9 # -*- coding: encoding -*- 10 11 import getpass 12 13 14 name = raw_input('請輸入用戶名:') 15 pwd = getpass.getpass('請輸入密碼:') 16 17 if name == "lym" and pwd == "cmd": 18 print("歡迎,lym!") 19 else: 20 print("用戶名和密碼錯誤")
猜年齡游戲:在程式中設定好你的年齡,然後讓用戶輸入年齡比大小,根據他的輸入提示用戶輸入的是否正確,如果錯誤,提示是猜大了還是小了
1 my_age = 28 2 3 user_input = int(input("input your guess num:")) 4 5 if user_input == my_age: 6 print("Congratulations, you got it !") 7 elif user_input < my_age: 8 print("Oops,think bigger!") 9 else: 10 print("think smaller!")
若改為無限次數猜,直到你猜對了為止
1 count = 0 2 age_of_oldboy = 26 3 while True: 4 guess_age = int(input("guess age: ")) 5 if guess_age == age_of_oldboy: 6 print("yes,you got it") 7 break 8 elif guess_age < age_of_oldboy: 9 print("think smaller") 10 else: 11 print("think bigger")
若限制次數為三次,超過三次就被踢出游戲
1 while count < 3: 2 guess_age = int(input("guess age:")) 3 if guess_age == age_of_oldboy: 4 print("yes,you got it") 5 break 6 elif guess_age < age_of_oldboy: 7 print("think smaller") 8 else: 9 print("think bigger") 10 count +=1 11 else: 12 print("fuck off")
此處,count 即計數器
- 表達式 for loop
最簡單的迴圈10次
1 for i in range(10):
2 print("loop:", i )
輸出結果為
1 loop: 0 2 loop: 1 3 loop: 2 4 loop: 3 5 loop: 4 6 loop: 5 7 loop: 6 8 loop: 7 9 loop: 8 10 loop: 9
如果想跳著輸出 loop可以修改代碼為
1 for i in range(0,10,2): 2 print("loop:",i)
輸出結果為
1 loop: 0 2 3 loop: 2 4 5 loop: 4 6 7 loop: 6 8 9 loop: 8
1,3,5,7就分隔開了,從0開始每隔兩個loop輸出一個loop
- 表達式while loop
輸出0-1000的數字
1 count = 0 2 while True: 3 print("count:",count) 4 count +=1 5 if count ==1000: 6 break
輸出結果太多,這裡就不截圖了
再拓展一下,如何達到,讓用戶猜數字,三次內如果猜對則break,如果三次後還沒有猜對則提問是否願意繼續猜? 如果打出的不是Y,則繼續猜,依次迴圈,代碼如下
1 while count < 3: 2 guess_age = int(input("guess age:")) 3 if guess_age == age_of_oldboy: 4 print("yes,you got it") 5 break 6 elif guess_age < age_of_oldboy: 7 print("think smaller") 8 else: 9 print("think bigger") 10 count +=1 11 if count == 3: 12 countiue_guess = input("do you want keep guessing?...") 13 if countiue_guess != "y": 14 count = 0
今天的學習的內容就是以上內容,相信大家看了以後也很容易理解,那麼期待第二天的內容,我們下期見:)