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