if 條件
if 文法
- if expression
statement(s)
注意:python 使用縮進作為其語句的分組方法,建議使用4個空格
<code>if</code> <code>not</code> <code>1</code> <code>> </code><code>2</code> <code>and</code> <code>1</code> <code>=</code><code>=</code> <code>1</code><code>:</code>
<code> </code><code>print</code> <code>'hello python'</code>
<code> </code><code>print</code> <code>'True'</code>
這個例子中,邏輯非的優先級比較高
先執行:
not 1 > 2
在執行:
1==1
<code>if</code> <code>10</code> <code>< </code><code>2</code><code>:</code>
<code>else</code><code>:</code>
<code> </code><code>print</code> <code>'ha'</code>
<code>print</code> <code>'main'</code>
這個例子中,print 'main' 這個條件是排除在 if 語句外的,無論如何都會輸出。
if 多個條件,例子如下:
<code>elif</code> <code>'a'</code><code>:</code>
<code> </code><code>print</code> <code>'a'</code>
總結:
if條件練習,成績分類
<code>score </code><code>=</code> <code>int</code><code>(</code><code>raw_input</code><code>(</code><code>"Please a num: "</code><code>))</code>
<code>if</code> <code>score ></code><code>=</code> <code>90</code><code>:</code>
<code> </code><code>print</code> <code>"A"</code>
<code> </code><code>print</code> <code>'very good'</code>
<code>elif</code> <code>score ></code><code>=</code> <code>80</code><code>:</code>
<code> </code><code>print</code> <code>'B'</code>
<code> </code><code>print</code> <code>'good'</code>
<code>elif</code> <code>score ></code><code>=</code> <code>70</code><code>:</code>
<code> </code><code>print</code> <code>'C'</code>
<code> </code><code>print</code> <code>'pass'</code>
<code> </code><code>print</code> <code>'D'</code>
<code>print</code> <code>'END'</code>
布爾值
邏輯值(bool)包含了兩個值:
-True : 表示非空的量(比如:string、tuple、list、set、dictionary),所有非零數。
-False : 表示0,None,空的量等。
上栗中,用到了一個字元串的方法,yn.lower ,這個方法的作用把收到的字元串轉為小寫的。
for序列
循環
循環是一個結構,導緻程式要重複一定的次數。
條件循環也是如此,當條件變為假,循環結束。
for循環
在序列裡,使用for循環周遊
文法:
- for iterating_var in sequence:
statement(s)
常用for循環
<code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>, </code><code>11</code><code>):</code>
<code> </code><code>print</code> <code>i</code>
對序列做個周遊。
含有if條件的for循環
<code> </code><code>if</code> <code>i </code><code>%</code> <code>2</code> <code>=</code><code>=</code> <code>0</code><code>:</code>
<code> </code><code>print</code> <code>i</code>
注意縮進
清單的重寫:
幾個栗子:
<code>print</code> <code>[i </code><code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>, </code><code>11</code><code>)]</code>
<code>print</code> <code>[i </code><code>*</code> <code>2</code> <code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>, </code><code>11</code><code>)]</code>
<code>print</code> <code>[i </code><code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>, </code><code>11</code><code>) </code><code>if</code> <code>i </code><code>%</code> <code>2</code> <code>=</code><code>=</code> <code>0</code><code>]</code>
<code>print</code> <code>[i </code><code>*</code><code>*</code> <code>2</code> <code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>, </code><code>11</code><code>)]</code>
<code>for</code> <code>i </code><code>in</code> <code>[i </code><code>*</code><code>*</code> <code>2</code> <code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>, </code><code>11</code><code>)]</code>
<code> </code><code>print</code> <code>i,</code>
在一行中列印出清單裡的元素。
用周遊的方式通路字典
定義字典的方法:
<code>dic </code><code>=</code> <code>{</code><code>'a'</code><code>:</code><code>1</code><code>, </code><code>'b'</code><code>:</code><code>2</code><code>}</code>
<code>dic.fromkeys(</code><code>'abcdefgh'</code><code>,</code><code>100</code><code>)</code>
建立字典
2.周遊字典的key和值
3.格式化輸出
4.items方法
5.iteritems 方法
同range和xrange的差別一樣,items和iteritems也累死,iteritems也傳回的是對象,不占用記憶體,
隻有調用到的時候,才會占用單個的記憶體。
6.乘法口訣
<code>for</code> <code>i </code><code>in</code> <code>xrange</code><code>(</code><code>1</code><code>,</code><code>10</code><code>):</code>
<code> </code><code>for</code> <code>j </code><code>in</code> <code>xrange</code><code>(</code><code>1</code><code>, i</code><code>+</code><code>1</code><code>):</code>
<code> </code><code>print</code> <code>"%sx%s=%s"</code> <code>%</code> <code>(j, i, j</code><code>*</code><code>i)</code>
<code> </code><code>print</code>
i 控制行,j 控制列,末尾 print 表示列印換行符
循環退出
for循環也有else
for 循環如果正常結束,才會執行else語句。
舉例:
<code>for</code> <code>i </code><code>in</code> <code>xrange</code><code>(</code><code>10</code><code>):</code>
<code> </code><code>print</code> <code>'main end'</code>
else 後面的也會輸出。
1.如果不讓語句執行完 ,break ,退出循環,繼續執行程式,則else不會輸出:
<code> </code><code>if</code> <code>i </code><code>=</code><code>=</code> <code>5</code><code>:</code>
<code> </code><code>break</code>
有 break 沒有正常結束,不輸出最後的代碼。
2.continue 退出目前循環,繼續後面的循環
<code> </code><code>if</code> <code>i </code><code>=</code><code>=</code> <code>3</code><code>:</code>
<code> </code><code>continue</code>
當 i 等于3 時候,循環内部,下面的語句不繼續執行了,跳出目前,繼續下一次循環
3.pass 占位
<code> </code><code>countinue</code>
<code> </code><code>elif</code> <code>i </code><code>=</code><code>=</code> <code>5</code><code>:</code>
<code> </code><code>elif</code> <code>i </code><code>=</code><code>=</code> <code>6</code><code>:</code>
<code> </code><code>pass</code>
4.徹底退出程式
<code>import</code> <code>sys</code>
<code>import</code> <code>time</code>
<code> </code><code>elif</code> <code>1</code> <code>=</code><code>=</code> <code>5</code><code>:</code>
<code> </code><code>elif</code> <code>i </code><code>=</code><code>=</code> <code>7</code><code>:</code>
<code> </code><code>sys.exit()</code>
<code>print</code> <code>"hahahah"</code>
所有sys.exit()下的程式,都不會輸出。
random.randint() 随機數子產品
while 循環
while 和 for 循環的差別
- for 循環用在有次數的循環上
- while 循環用在有條件的控制上
while 循環,直到表達式為假,才退出。
while 循環,表達式是一個邏輯表達式,必須傳回一個True或False。
while expression:
statement(s)
while循環裡有break,也可以退出循環
死循環:
永遠成立,永遠不會退出的循環。
<code>while</code> <code>True</code><code>:</code>
<code> </code><code>print</code> <code>'hello'</code>
判斷初始值
<code>n </code><code>=</code> <code>0</code>
<code> </code><code>if</code> <code>n </code><code>=</code><code>=</code> <code>10</code><code>:</code>
<code> </code><code>print</code> <code>n, </code><code>'hello'</code>
<code> </code><code>n </code><code>+</code><code>=</code> <code>1</code>
執行10次就break了~
讀取鍵盤輸入
<code> </code><code>x </code><code>=</code> <code>raw_input</code><code>(</code><code>"Please input something, q for quit:"</code><code>)</code>
<code> </code><code>if</code> <code>x </code><code>=</code><code>=</code> <code>"q"</code><code>:</code>
變量使用:
<code>x </code><code>=</code> <code>''</code>
<code>while</code> <code>x !</code><code>=</code> <code>'q'</code><code>:</code>
判斷的使用
<code> </code><code>if</code> <code>not</code> <code>x :</code>
當 x 為 非空的時候,就退出循環。
while 也有else
<code> </code><code>print</code> <code>'world'</code>
如果不是正常結束,就會執行else。
continue 用法
<code> </code><code>if</code> <code>x </code><code>=</code><code>=</code> <code>'quit'</code><code>:</code>
<code> </code><code>print</code> <code>'continue'</code>
版權聲明:原創作品,如需轉載,請注明出處。否則将追究法律責任
本文轉自 聽丶飛鳥說 51CTO部落格,原文連結:http://blog.51cto.com/286577399/2045863