1. 程式人生 > >淺談自學Python之路(day1)

淺談自學Python之路(day1)

簡單 程序 odi odin 限制次數 變量類型 第一個程序 構造 welcom

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,新的更加容易讀懂的字符串格式化方法,

從原來的% 模式變成新的可讀性更強的

  1. 花括號聲明{}、用於渲染前的參數引用聲明, 花括號裏可以用數字代表引用參數的序號, 或者 變量名直接引用。

  2. 從format參數引入的變量名 、

  3. 冒號:、

  4. 字符位數聲明、

  5. 空白自動填補符 的聲明

  6. 千分位的聲明

  7. 變量類型的聲明: 字符串s、數字d、浮點數f

  8. 對齊方向符號 < ^ >

  9. 屬性訪問符中括號 ?

  10. 使用驚嘆號!後接a 、r、 s,聲明 是使用何種模式, acsii模式、引用__repr__ 或 __str__

  11. 增加類魔法函數__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

今天的學習的內容就是以上內容,相信大家看了以後也很容易理解,那麽期待第二天的內容,我們下期見:)

淺談自學Python之路(day1)