淺談自學Python之路(day1)

来源:https://www.cnblogs.com/cxylff/archive/2018/02/19/8454013.html
-Advertisement-
Play Games

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

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

  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

 

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

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文主要介紹Spring中AOP註解,jdbc模板,事務的基本使用。 ...
  • 最近看到一個比較好的 eclipse 插件:embsysregview,於是想裝起來用用看。結果安裝過程出錯,4個 jar 的包下載不下來,並且通過本地安裝的方法也不行。 後來終於找到作者的回覆,作者的意思是 一切都是網址的錯誤。 我們只能手動修改安裝插件的網址為 http://embsysregv ...
  • 大約有4年沒有寫過博客了,今天突然有點靈感,那就寫寫吧。 2018年這個年,過的真是不平靜。先後有兩位親人離我們而去,惋惜,悲痛,難過的情緒始終瀰漫在整個家族當中。不多說,轉回正題。 2013年因為家庭的因素,加上對自身發展前景的判斷,我做出了回冠的決定。到今天為止,我已經回家接近5年了,這5年當中 ...
  • 本文主要介紹Spring整合Servlet背後的細節、IOC註解、Spring測試、AOP入門使用等。 ...
  • 前言: Flask-Moment在所有的flask擴展中算是相對簡單的一個了,但是還是有很多需要理解的地方.那麼今天就跟著筆者一起,來學習一下flask-moment在flask項目中的應用. 首先,我們要理解flask-moment是用來乾什麼的,摘用狗書的一段話: 有一個使用 JavaScrip ...
  • 前言 當solr數據量小,併發少的時候,一臺solr伺服器足以應付,如果solr數據量比較大,併發多的時候,一臺solr不能應對的時候,是否需要對solr進行集群。這裡需要先對zookeeper進行集群,因為zookeeper會作為solr集群的配置信息中心。 集群介紹 zookeeper集群的時候 ...
  • python是一門動態解釋型的強類型定義語言(先編譯後解釋) 動態類型語言 動態類型的語言編程時,永遠也不用給任何變數指定數據類型,該語言會在你第一次賦值給變數時,在內部將數據類型記錄下來 解釋型 程式每執行到源程式的某一條指令,則會有一個稱之為解釋程式的外殼程式將源代碼轉換成二進位代碼以供執行,總 ...
  • 以往tp3.2里模型插入資料庫的方法通常使用add tp5後一開始我發現save與create方法都能插入數據 也不知道有什麼分別,後來一般都使用create方法 終於有一次操作關聯表時,由於使用create沒有返回主鍵 導致關聯表的另一個欄位沒有寫入到調用的實例里 通過查看文檔使用save解決 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...