if 条件
if 语法
- if expression
statement(s)
注意:python 使用缩进作为其语句的分组方法,建议使用4个空格
1
2
3
|
if
not
1
>
2
and
1
=
=
1
:
print
'hello python'
print
'True'
|
这个例子中,逻辑非的优先级比较高
先执行:
not 1 > 2
在执行:
1==1
1
2
3
4
5
6
|
if
10
<
2
:
print
'hello python'
print
'True'
else
:
print
'ha'
print
'main'
|
这个例子中,print 'main' 这个条件是排除在 if 语句外的,无论如何都会输出。
if 多个条件,例子如下:
1
2
3
4
5
6
7
8
|
if
10
<
2
:
print
'hello python'
print
'True'
elif
'a'
:
print
'a'
else
:
print
'ha'
print
'main'
|
总结:
if条件练习,成绩分类
1
2
3
4
5
6
7
8
9
10
11
12
13
|
score
=
int
(
raw_input
(
"Please a num: "
))
if
score >
=
90
:
print
"A"
print
'very good'
elif
score >
=
80
:
print
'B'
print
'good'
elif
score >
=
70
:
print
'C'
print
'pass'
else
:
print
'D'
print
'END'
|
布尔值
逻辑值(bool)包含了两个值:
-True : 表示非空的量(比如:string、tuple、list、set、dictionary),所有非零数。
-False : 表示0,None,空的量等。
上栗中,用到了一个字符串的方法,yn.lower ,这个方法的作用把收到的字符串转为小写的。
for序列
循环
循环是一个结构,导致程序要重复一定的次数。
条件循环也是如此,当条件变为假,循环结束。
for循环
在序列里,使用for循环遍历
语法:
- for iterating_var in sequence:
statement(s)
常用for循环
1
2
|
for
i
in
range
(
1
,
11
):
print
i
|
对序列做个遍历。
含有if条件的for循环
1
2
3
|
for
i
in
range
(
1
,
11
):
if
i
%
2
=
=
0
:
print
i
|
注意缩进
列表的重写:
几个栗子:
1
2
3
4
|
print
[i
for
i
in
range
(
1
,
11
)]
print
[i
*
2
for
i
in
range
(
1
,
11
)]
print
[i
for
i
in
range
(
1
,
11
)
if
i
%
2
=
=
0
]
print
[i
*
*
2
for
i
in
range
(
1
,
11
)]
|
1
2
|
for
i
in
[i
*
*
2
for
i
in
range
(
1
,
11
)]
print
i,
|
在一行中打印出列表里的元素。
用遍历的方式访问字典
定义字典的方法:
1
2
|
dic
=
{
'a'
:
1
,
'b'
:
2
}
dic.fromkeys(
'abcdefgh'
,
100
)
|
-
创建字典
2.遍历字典的key和值
3.格式化输出
4.items方法
5.iteritems 方法
同range和xrange的区别一样,items和iteritems也累死,iteritems也返回的是对象,不占用内存,
只有调用到的时候,才会占用单个的内存。
6.乘法口诀
1
2
3
4
|
for
i
in
xrange
(
1
,
10
):
for
j
in
xrange
(
1
, i
+
1
):
print
"%sx%s=%s"
%
(j, i, j
*
i)
print
|
i 控制行,j 控制列,末尾 print 表示打印换行符
循环退出
for循环也有else
for 循环如果正常结束,才会执行else语句。
举例:
1
2
3
4
|
for
i
in
xrange
(
10
):
print
i
else
:
print
'main end'
|
else 后面的也会输出。
1.如果不让语句执行完 ,break ,退出循环,继续执行程序,则else不会输出:
1
2
3
4
5
6
|
for
i
in
xrange
(
10
):
print
i
if
i
=
=
5
:
break
else
:
print
'main end'
|
有 break 没有正常结束,不输出最后的代码。
2.continue 退出当前循环,继续后面的循环
1
2
3
4
5
6
7
8
|
for
i
in
xrange
(
10
):
if
i
=
=
3
:
continue
if
i
=
=
5
:
break
print
i
else
:
print
'main end'
|
当 i 等于3 时候,循环内部,下面的语句不继续执行了,跳出当前,继续下一次循环
3.pass 占位
1
2
3
4
5
6
7
8
9
10
|
for
i
in
xrange
(
10
):
if
i
=
=
3
:
countinue
elif
i
=
=
5
:
break
elif
i
=
=
6
:
pass
print
i
else
:
print
'main end'
|
4.彻底退出程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import
sys
import
time
for
i
in
xrange
(
10
):
if
i
=
=
3
:
continue
elif
1
=
=
5
:
continue
elif
i
=
=
6
:
pass
elif
i
=
=
7
:
sys.exit()
print
i
else
:
print
'main end'
print
"hahahah"
|
所有sys.exit()下的程序,都不会输出。
random.randint() 随机数模块
while 循环
while 和 for 循环的区别
- for 循环用在有次数的循环上
- while 循环用在有条件的控制上
while 循环,直到表达式为假,才退出。
while 循环,表达式是一个逻辑表达式,必须返回一个True或False。
语法:
while expression:
statement(s)
while循环里有break,也可以退出循环
死循环:
永远成立,永远不会退出的循环。
1
2
|
while
True
:
print
'hello'
|
判断初始值
1
2
3
4
5
6
|
n
=
0
while
True
:
if
n
=
=
10
:
break
print
n,
'hello'
n
+
=
1
|
执行10次就break了~
读取键盘输入
1
2
3
4
5
|
while
True
:
print
'hello'
x
=
raw_input
(
"Please input something, q for quit:"
)
if
x
=
=
"q"
:
break
|
变量使用:
1
2
3
4
|
x
=
''
while
x !
=
'q'
:
print
'hello'
x
=
raw_input
(
"Please input something, q for quit:"
)
|
判断的使用
1
2
3
4
5
6
|
x
=
''
while
x !
=
'q'
:
print
'hello'
x
=
raw_input
(
"Please input something, q for quit:"
)
if
not
x :
break
|
当 x 为 非空的时候,就退出循环。
while 也有else
1
2
3
4
5
6
7
8
|
x
=
''
while
x !
=
'q'
:
print
'hello'
x
=
raw_input
(
"Please input something, q for quit:"
)
if
not
x :
break
else
:
print
'world'
|
如果不是正常结束,就会执行else。
continue 用法
1
2
3
4
5
6
7
8
9
10
11
|
x
=
''
while
x !
=
'q'
:
print
'hello'
x
=
raw_input
(
"Please input something, q for quit:"
)
if
not
x :
break
if
x
=
=
'quit'
:
continue
print
'continue'
else
:
print
'world'
|