Python学习_05 if while for
2018-04-03
- 1、if条件判断
python中if语句用于控制程序的执行,格式为:
if 判断条件:
执行语句
else:
执行语句
其中判断条件成立时,则执行后面的语句,而执行内容可以多行,以缩进来区分标识同一范围。else为可选语句,当条件不成立时执行else,举例:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time: 2018/4/4 15:10
# @Auther: xiexiaolong
# @File: 2018-04-04.PY
name = str(input("请输入你的姓名:"))
if name.strip() == '':
print("你输入的姓名为空。")
elif name.isdigit():
print("姓名不能为数字。")
else:
print("你的姓名是:" + name)
1>每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。
2>使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
if语句常用的操作符有:
操作符
|
描述
|
>
|
大于
|
>=
|
大于等于
|
<
|
小于
|
<=
|
小于等于
|
==
|
等于
|
!=
|
不等于
|
if语句可以嵌套
if
表达式
1
:
语句
if
表达式
2
:
语句
elif
表达式
3
:
语句
else
:
语句
elif
表达式
4
:
语句
else
:
语句
实例,输入一个数字,判断能不能被2和3整除:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time: 2018/4/4 15:10
# @Auther: xiexiaolong
# @File: 2018-04-04.PY
num = int(input("请输入一个数字:"))
if num % 2 == 0:
if num % 3 == 0:
print("你输入的数字可以被2和3整除。")
else:
print("你输入的数字可以被2整除,但是不能被3整除。")
elif num % 3 == 0:
print("你输入的数字可以被3整除,但是不能被2整除。")
else:
print("你输入的数字既不能被2整除,也不能被3整除")
结果如下:
D:\python\venv\Scripts\python.exe D:/python/venv/2018-04-04.py
请输入一个数字:3
你输入的数字可以被3整除,但是不能被2整除。
Process finished with exit code 0
- 2、for循环语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。语法如下:
for
iterating_var
in
sequence
:
statements
(
s
)
实例,输出1到10个数字:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time: 2018/4/4 15:10
# @Auther: xiexiaolong
# @File: 2018-04-04.PY
for
i
in
range
(
1
,
10
):
print
(i)
结果如下:
D:\python\venv\Scripts\python.exe D:/python/venv/2018-04-04.py
1
2
3
4
5
6
7
8
9
Process finished with exit code 0
range 和xrange的区别:
xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器。
- 3、while循环语句
Python 编程中 while 语句用于循环执行程序,其基本形式为:
while
判断条件:
执行语句……
简单实例,输出1到10:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time: 2018/4/4 15:10
# @Auther: xiexiaolong
# @File: 2018-04-04.PY
a = 0
while a < 10:
a += 1
print(a)
结果:
D:\python\venv\Scripts\python.exe D:/python/venv/2018-04-04.py
1
2
3
4
5
6
7
8
9
10
Process finished with exit code 0
while 语句有2个命令跳过循环(
continue和break),continue跳过此次循环,break推出整个循环:
continue实例
:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time: 2018/4/4 15:10
# @Auther: xiexiaolong
# @File: 2018-04-04.PY
a = 1
while a < 10:
a += 1
if a%2 == 0:
continue
else:
print(a)
输出结果:
D:\python\venv\Scripts\python.exe D:/python/venv/2018-04-04.py
3
5
7
9
Process finished with exit code 0
break实例,输出数字,大于9退出:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time: 2018/4/4 15:10
# @Auther: xiexiaolong
# @File: 2018-04-04.PY
a = 1
while a < 10:
a += 1
if a >9:
break
else:
print(a)
结果:
D:\python\venv\Scripts\python.exe D:/python/venv/2018-04-04.py
2
3
4
5
6
7
8
9
Process finished with exit code 0
- 4、课堂练习
输出99乘法表:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time: 2018/4/4 15:10
# @Auther: xiexiaolong
# @File: 2018-04-04.PY
for b in range(1,10):
for a in range(1,b+1):
print("{0}*{1}={2}".format(a,b,a*b),end=" ")
print()
输出结果:
D:\python\venv\Scripts\python.exe D:/python/venv/2018-04-04.py
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
Process finished with exit code 0
- 5、课后习题练习
1>求
0!+1!+2!+~~~~~~n! 的值
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018\4\5 0005 21:27
# @Author : xiexiaolong
# @File : 0405.py
c = int(input("请输入一个整数:"))
if c == 0:
print("{0}的阶乘求和是:1".format(c))
else:
a = 1
d = 0
for b in range(1,c+1):
a = a * b
d = d + a
print("{0}的阶乘求和是:{1}".format(c,d+1))
输出:
D:\python\venv\Scripts\python.exe D:/python/0405.py
请输入一个整数:100
100的阶乘求和是:94269001683709979260859834124473539872070722613982672442938359305624678223479506023400294093599136466986609124347432647622826870038220556442336528920420940314
Process finished with exit code 0
2>
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数