天天看點

複習 if條件 for序列 for字典 循環退出 while

if 條件

if 文法

- if expression

    statement(s)

注意:python 使用縮進作為其語句的分組方法,建議使用4個空格

<code>if</code> <code>not</code> <code>1</code> <code>&gt; </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 &gt; 2

在執行:

    1==1

<code>if</code> <code>10</code> <code>&lt; </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 &gt;</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 &gt;</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 &gt;</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