Python從入門到放棄_運算子與編碼
3>4 or 4<3 and 1==1 1 < 2 and 3 < 4 or 1>2 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1 not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
1.while迴圈
在生活中,我們遇到過迴圈的事情吧?比如迴圈聽歌。在程式中,也是存才的,這就是流程控制語句 while
1、基本迴圈
while 條件: # 迴圈體 # 如果條件為真,那麼迴圈則執行 # 如果條件為假,那麼迴圈不執行
2、break
break 用於退出當層迴圈
#-*- coding:utf-8 -*- num = 1 while num <6: print(num) num+=1 break print("end")
3、continue
continue 用於退出當前迴圈,繼續下一次迴圈
#!/usr/bin/env python #-*- coding:utf-8 -*- num = 1 while num <6: print(num) num+=1 continue print("end")
4、while else
while True: if 3 > 2: print('你好') break else: print('不好') while True: if 3 > 2: print('你好') print('不好')
首先讓使用者輸入序號選擇格式如下: 0.退出 1.開始登入 如果使用者選擇序號0 就提示使用者退出成功 如果使用者選擇序號1就讓使用者輸入使用者名稱密碼然後進行判斷,正確就終止迴圈,錯誤重新輸入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 使用者可持續輸入(用while迴圈),使用者使用的情況: 輸入A,則顯示走大路回家,然後在讓使用者進一步選擇: 是選擇公交車,還是步行? 選擇公交車,顯示10分鐘到家,並退出整個程式。 選擇步行,顯示20分鐘到家,並退出整個程式。 輸入B,則顯示走小路回家,並退出整個程式。 輸入C,則顯示繞道回家,然後在讓使用者進一步選擇: 是選擇遊戲廳玩會,還是網咖? 選擇遊戲廳,則顯示 ‘一個半小時到家,爸爸在家,拿棍等你。’並讓其重新輸入A,B,C選項。 選擇網咖,則顯示‘兩個小時到家,媽媽已做好了戰鬥準備。’並讓其重新輸入A,B,C選項。
答案
2.格式化輸出
現在有個需要我們錄入我們身邊好友的資訊,格式如下:
------------ info of MBH---------- Name : MBH Age : 22 job : Teacher Hobbie: 666 ------------- end ----------------
我們現在能想到的辦法就是用一下方法:
name = input('請輸入姓名:') age = input('請輸入年齡:') job = input('請輸入職業:') hobby = input('請輸入愛好:') a = '------------ info of MBH ----------' b = 'Name:' c = 'Age:' d = 'Job:' e = 'Hobby:' f = '------------- end ----------------' print(a+ '\n'+ b+ name+ '\n'+ c+ age+ '\n'+ d+ job+ '\n'+ e+ hobby+ '\n'+ f)
執行結果
------------ info of MBH---------- Name:meet Age:18 Job:it Hobby:3 ------------- end ----------------
name = input('請輸入姓名:') age = input('請輸入年齡:') job = input('請輸入職業:') hobby = input('請輸入愛好:') msg = ''' ------------ info MBH---------- Name : %s Age : %s job : %s Hobbie: %s ------------- end ---------------- ''' print(msg%(name,age,job,hobby))
我們但從程式碼的數量來看,這樣就比那樣的少,看到這裡有細心的老鐵們肯定在想%s這是啥玩意?
% 是一個佔位, 回想下我們小時候給朋友佔位子的場景,是的這個就是佔位.那s又是什麼呢? s程式碼的字串型別;
具體詳細引數如下,大家可以參考一下
|
|||||||||||||||||||||||
這樣寫完全沒有問題,但是會不會比較繁瑣呢,有些大佬肯定會想這不都實現了嗎,還逼叨逼什麼啊,那是沒有體驗過格式化輸出有多霸道,我們現在來體驗下霸道的姿勢
3.運算子
計算機可以進行的運算有很多種,可不只加減乘除這麼簡單,運算按種類可分為算數運算、比較運算、邏輯運算、賦值運算、成員運算、身份運算、位運算,今天我們暫只學習算數運算、比較運算、邏輯運算、賦值運算
算數運算
以下假設變數:a=10,b=20
比較運算
以下假設變數:a=10,b=20
賦值運算
以下假設變數:a=10,b=20
邏輯運算
針對邏輯運算的進一步研究:
1,在沒有()的情況下not 優先順序高於 and,and優先順序高於or,即優先順序關係為( )>not>and>or,同一優先順序從左往右計算。
4.初識編碼(一)
python2直譯器在載入 .py 檔案中的程式碼時,會對內容進行編碼(預設ascill),而python3對內容進行編碼的預設為utf-8。
ASCII(American Standard Code for Information Interchange,美國標準資訊交換程式碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多隻能用 8 位來表示(一個位元組),即:2**8 = 256,所以,ASCII碼最多隻能表示 256 個符號。
隨著計算機的發展. 以及普及率的提高. 流⾏到歐洲和亞洲. 這時ASCII碼就不合適了. 比如: 中⽂漢字有幾萬個. 而ASCII 多也就256個位置. 所以ASCII不行了. 怎麼辦呢? 這時, 不同的國家就提出了不同的編碼用來適用於各自的語言環境. 比如, 中國的GBK, GB2312, BIG5, ISO-8859-1等等. 這時各個國家都可以使用計算機了.
GBK, 國標碼佔用2個位元組. 對應ASCII碼 GBK直接相容. 因為計算機底層是用英文寫的. 你不支援英文肯定不行. 而英文已經使用了ASCII碼. 所以GBK要相容ASCII.
這里GBK國標碼. 前⾯的ASCII碼部分. 由於使⽤兩個位元組. 所以對於ASCII碼⽽言. 前9位都是0
字母A:0100 0001 # ASCII 字母A:0000 0000 0100 0001 # 國標碼
國標碼的弊端:
只能中國用. 日本就垮了. 所以國標碼不滿足我們的使用. 這時提出了一個萬國碼Unicode一 開始設計是每個字元兩個位元組. 設計完了. 發現我大中國漢字依然無法進行編碼.
只能進行擴充. 擴充成32位也就是4個字 節. 這回夠了. 但是. 問題來了. 中國字9萬多. 而unicode可以表示40多億. 根本用不了. 太浪費了. 於是乎, 就提出了新的 UTF編碼.可變長度編碼
Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字元編碼。Unicode 是為了解決傳統的字元編碼方案的侷限而產生的,
它為每種語言中的每個字元設定了統一併且唯一的二進位制編碼,規定雖有的字元和符號最少由 16 位來表示(2個位元組),即:2 **16 = 65536
注:此處說的是最少2個位元組,可能更多
UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個位元組,而是將所有的字元和符號進行分類:ascii碼中的內容用1個位元組儲存、
歐洲的字元用2個位元組儲存,東亞的字元用3個位元組儲存...
UTF-16: 每個字元最少佔16位.
GBK: 每個字元佔2個位元組, 16位.
單位轉換
8bit = 1byte 1024byte = 1KB 1024KB = 1MB 1024MB = 1GB 1024GB = 1TB 1024TB = 1PB 1024TB = 1EB 1024EB = 1ZB 1024ZB = 1YB 1024YB = 1NB 1024NB = 1DB 常⽤到TB就夠了