天天看点

复习 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