一、if 语句
if语句大致有三种形式
1. if
if 条件语句:
代码块
其他语句
- 执行过程:判断条件语句是否为True,是,则先执行代码块,再执行其他代码,否则直接执行其他代码
2. if--else
if 条件语句:
代码块1
else:
代码块2
其他语句
- 执行过程:先判断条件语句是否为True,是,则先执行代码块1,再执行其他代码,否则先执行代码块2,再执行其他代码
3. if -- elif -- ... -- else
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
...
elif 条件语句n..:
代码块n
else:
代码块n+1
其他语句
- 执行过程:逐个判断条件语句,直到遇到条件语句为True,执行其后的代码块然后执行其他语句,如果所有条件语句都为False,则执行代码块n+1,再执行其他语句。
一个例子:
# 给定一个成绩,评定成绩等级,优(90-100)、良(70-89)、及格(60-69)、不及格(0-59)
score = 80
if 90 <= score <= 100:
print('优')
elif 80 <= score < 90:
print('良')
elif 70 <= score < 80:
print('中')
elif 60 <= score < 70:
print('合格')
elif 0 <= score < 60:
print('不合格')
else:
print('分数异常!!!')
良
二、类型强制转换
- 数据类型转换:类型名(被转换的数据)
int()、 float()、 bool()、 str()
1.其他类型转换成整型: int()
- 浮点型:只保留整数部分
- 布尔型:True -- 1 False -- 0
- 字符串:引号内是整型数的才能转换成整型数
print(int(3.14))
print(int(False))
print(int('-12'))
3
0
-12
2.其他类型转换为浮点型: float()
- 整型:在整数后面加一个'.0'
- 布尔型:True -- 1.0 False -- 0.0
- 字符串:引号内是数字的才可转换成浮点型数据
print(float('2'))
print(float(True),' ',float(False))
print(float('100'),' ',float('13.14'))
2.0
1.0 0.0
100.0 13.14
3.其他类型转换成布尔类型: bool()
- 任何类型都可以转换成布尔型值。
- 所有为零为空的值都会转换为False,其他的都是True。
print(bool(3))
print(bool([1,2,3,0,6]))
print(bool(0))
print(bool(''))
print(bool(None))
True
True
False
False
False
4.其他类型的数据转换成字符串: str()
- 所有类型的数据都可以转换成字符串
- 直接在数据外层加引号变成字符串
print(str(0),' ',type(str(0)))
print(str(True),' ',type(str(True)))
print(str(None),' ',type(str(None)))
print(str([1,2,3,1,5]),' ',type(str([1,2,3,1,5])))
0 <class 'str'>
True <class 'str'>
None <class 'str'>
[1, 2, 3, 1, 5] <class 'str'>
4. if 语句可以嵌套使用
if 条件语句1:
if 条件语句2:
...
if 条件语句...:
else:
else:
else:
条件语句n
其他语句
if语句的嵌套使用
# 给定一个数字,如果是偶数,就打印偶数,是偶数且能被4整除,就打印能被4整除,否则打印奇数
num = 5464
if isinstance(num,int):
if num%2:
print('%d是一个奇数'%(num))
elif num%4:
print('%d是一个偶数但不能被4整数'%(num))
else:
print('%d是偶数且能被4整除'%(num))
else:
print('无法判断非整型数')
5464是偶数且能被4整除
5. 判断数据类型
- isinstance(值,类型): 判断指定的值是否为指定的类型,是则返回True,否则返回False。
print(isinstance(90,bool))
False
三、循环语句
需要重复执行某个过程,就需要使用循环语句
- Python中有两种循环: for 循环和 while循环
1. for 循环:
for循环的格式
for 变量名 in 序列:
循环体
- for :关键字
- 变量名: 和声名变量时的要求是一样的
- in :关键字,在...中的意思
- 序列: 必须是容器类型的数据.。例如:字符串、列表、字典、元组、集合等
- 循环体:需要重复执行的代码块
- 执行过程:用变量按顺序在容器中取值,直到容器中的数据被全部遍历。每遍历一个数据执行一次循环体
for char in 'range':
print(char)
print('---------------------------\n')
r
a
n
g
e
1.1. range()函数( 在Python 2.x 中是xrange() )
- 功能:产生指定范围的数字序列。
- range(n):产生0~n-1的整数序列
- range(m,n):产生m~n-1的整数序列
- range(m,n,step): 从m开始,按照step的步长取值:直到n-1
# range(n)
for i in range(5):
print(i)
print('---------------------------\n')
# range(m,n)
for i in range(10,15):
print(i)
print('---------------------------\n')
# range(m,n,step)
for i in range(20,30,2):
print(i)
print('---------------------------\n')
0
1
2
3
4
---------------------------10
11
12
13
14
---------------------------20
22
24
26
28
---------------------------
一些应用
# 计算1+2+3+...+100
sum = 0
for x in range(1,101):
sum += x
print(sum)
print('---------------------------\n')
# 用一个循环计算1*2*3*...*10
# 计算2*4*6*...*10
result1 = result2 = 1
for x in range(1,11):
result1 *= x
# 判断x是否是偶数
if x%2 == 0:
result2 *= x
print(result1)
print(result2)
print('---------------------------\n')
# 有一个字符串'ABCDEFGHIJKL',依次取出字符串偶数为上的字符
str1 = 'ABCDEFG'
for x in range(0,len(str1),2):
print(x,':',str1[x])
print('---------------------------\n')
5050
---------------------------3628800
3840
---------------------------0 : A
2 : C
4 : E
6 : G
---------------------------
2. while循环
while循环的格式
while 条件语句:
循环体
其他语句
- while : 关键字
- 条件语句 : 结果是 True 或 False
- 循环体 : 重复执行的代码段
- 执行过程:判断条件语句,如果为True,是则执行循环体,每执行一次循环体判断一次条件语句,直到条件语句值为False,执行行其他语句;否则直接执行其他语句。
注意: 如果条件语句一直为True,就会造成死循环,所以循环体中一定要有可以让循环结束的操作。
flag = True
while flag:
print('666')
flag = False
break
print('---------------------------\n')
666
---------------------------
一些例子
# 使用while循环计算1+2+3+...+100
num = 1
sum = 0
while num < 101:
sum += num
num += 1
print(sum)
print('---------------------------\n')
# 计算2+4+6+...+100
num = 2
sum = 0
while num <= 100:
sum += num
num += 2
print(sum)
print('---------------------------\n')
5050
---------------------------2550
---------------------------
四、continue和break
continue 和 break 两个关键字,都是作用于循环中,用来结束循环。
- continue:关键字,在循环体中遇到continue,就结束此次循环,进行下一次的循环(如果是for循环,就让变量取下一个值;如果是while循环,就去判断while后的条件语句)。
for x in range(1,8):
if x % 2:
continue
print(x)
print('---------------------------\n')
2
4
6
---------------------------
- break:关键字,在循环体中遇到break,就直接结束整个循环,执行循环外的语句。
for x in range(1,8):
print(x)
break
print('------')
print('---------------------------\n')
1
---------------------------
一些例子
# 找出100-1000以内第一个能被3整除同时能被17整除的数
num = 100
while True:
if num <= 1000:
if num % 3 and num % 17:
num += 1
else:
print(num)
break
else:
print('不存在的')
break
print('---------------------------\n')
102
---------------------------
五、for循环与while循环的选择
1. for和while的选择
- for的循环次数是确定的,while循环可以是不确定的。
1.1. 循环次数不确定的时候,选择while循环。
1.2. 循环次数确定的时候一般选择for循环。
1.3. 通过循环要遍历一个序列中的值时,使用for循环.。
2. input()
- 接收从控制台输入的数据(以回车结束)
- 程序中遇到input()函数会阻塞,等待用户输入完成后才会执行后面的代码
# 使用value取保存从控制台输入的数据
# value = input();
# print(value,'---------')
90
90 ---------
3. 产生随机数
- Python中有一个内置模块,可以产生随机数:random。
- randint(n):产生一个[0,n]的随机整数。
# 导入import模块
import random
number = random.randint(0,10) # 产生一个[0,10]的整数
print(number)
7
网友评论