python中的if语句(补充)
3.if-elif-if语句
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
elif 条件语句3:
代码块3
elif ......
else:
代码块n
其他语句
执行过程:依次检查条件语句直到出现为true的条件语句执行其后面的代码块或者检查到else直接执行else后面的代码块if-elif-else执行完毕后,执行其后的其他语句
# 给一个学生的成绩,判断成绩是优秀(90)良好(70-89)及格(60-69)不及格(60以下)
score = 60
if 0 <= score < 60:
print("不及格")
elif 60 <= score < 70:
print('及格')
elif 70 <= score < 90:
print('良好')
elif 90 <= score <= 100:
print('优秀')
else:
print('成绩输入错误')
4.if语句可以嵌套使用
if 条件语句1:
if 条件语句2:
语句块1
......
else:
语句块2
else:
语句块3
# 练习:给个数字,如果是偶数打印‘xxx是偶数’并且
# 能被4整除打印‘xxx是4的倍数’,否则打印‘xxx是奇数’
num = 36.4
if type(num) == int:
if not num % 2 :
print(str(num)+'是偶数')
if not num % 4:
print(str(num)+'是4的倍数')
else:
print(str(num)+'是奇数')
else:
print('请输入正确的整数数据')
补充: 判断数据的类型
- isinstance(值,类型名) --> 判断指定的值是否是指定的类型,结果为bool值
print(isinstance(10,int)) # 判断10是否是int类型
python中的强制类型转换
数据类型转换:类型名(被转换的数据)
常见的数据类型:int float bool str
1.其他的数据类型转换成int:int()
- float可以转换为int:只保留整数部分
- bool可以转换为int:true --> 1 false -->0
- str可以转换为int:条件是去掉字符串的引号,剩下的部分本身是一个整形数据的字符串(可以带+-号)
print(int(12.9)) # 12
print(int(True),int(False)) # 1 0
print(int('+245'),int('-245'),int('245')) # 245 -245 245
2.其他的数据类型转换成float:float()
- int可以转换成float:在整数后面加.0
- bool可以转换成float:true --> 1.0 false -->0.0
- str可以转换为float:条件是去掉字符串的引号,剩下的部分本身是一个整形数据或者浮点型数据的字符串(可以带+-号)
print(float(100)) # 100.0
print(float(True),float(False)) # 1.0 0.0
print(float('+34'),float('-34.3')) # 34.0 -34.3
3.其他类型的数据转换成bool:bool()
- 所有类型的数据都可以转换成bool
- int和float中除了0其他都转换成True,0转换为False
- str中长度为0的转换成False,其他的转换成True
...... - 总结:所有为0为空的值都会转换成False,其他的值都是True
print(bool(' ')) #True
应用实例:
# 判断一个字符串是否是空串(长度为0)
# 方法1:
str1 = ''
if str1 == '':
print('空串')
# 方法2:
if len(str1) == 0:
print('空串')
# 方法3:
if not str1:
print('空串')
# 判断一个数字是否是0
# 方法1:
number = 10
if number == 0:
print('是0')
else:
print("不是0")
# 方法2:
if number:
print("不是0")
else:
print('是0')
4.其他类型的数据转换成字符串:str()
- 所有类型的数据都可以转换成str
- 其他数据转换成字符串的时候,就是直接在数据的外层加引号
print(str([1,'asd','ss'])) # '[1,'asd','ss']'
python中的循环
需要重复执行某个过程,就可以使用循环。
python中的循环有for循环和while循环
1.for循环:
for 变量名 in 序列:
循环体
for:关键字
变量名:与声明变量时的变量名要求是一样的,功能是存储值
in:关键字 指明为变量赋值的来源
序列:容器类型的数据,字符串,列表,字典,元组,集合等
循环体:会重复执行的代码块
执行过程:使用变量依次存储序列中的数据,没存储一次数据,执行一次循环体
for number in '123456789':
print('第%c个数字是%c' % (number,number))
"""
第1个数字是1
第2个数字是2
第3个数字是3
第4个数字是4
第5个数字是5
第6个数字是6
第7个数字是7
第8个数字是8
第9个数字是9
"""
注:xrange是Python2.x中的函数,在Python3.x中使用range函数代替了
range功能是产生指定范围的数字序列。一般用在for循环中,控制循环次数。或者产生索引值
range(n):产生0~n-1的整数序列
range(m,n):产生m~n-1的整数序列
range(m,n,step):产生从m开始到n-1结束,每step取一个的整数序列
# 产生数字0~4
for x in range(5):
print(x)
# 产生数字10~19
for x in range(10,20):
print(x)
# 产生0-10的奇数
for x in range(1,11,2):
print(x)
# 练习:计算1+2+...+100:
sum1 = 0
for num in range(1,101):
sum1+=num
print(sum1)
# 练习:只用一个循环
# 练习:计算1*2*..*10
# 练习:2*4*..*10
sum1 = 1
sum2 = 1
for num in range(1,11):
sum1*=num
if not num % 2:
sum2*=num
print(sum1,sum2)
# 练习2:有一个字符'abcdef',依次去除字符串中偶数位上的字符
line = 'abcdef'
for index in range(0,len(line),2):
print(l[index])
2.while循环
while 条件语句:
循环体
while:关键字
条件语句:结果为bool值
循环体:重复执行的代码块
执行的过程:判断条件是否为true,如果是,执行循环体
并在执行完循环体后回到判断语句
否则跳出循环执行其他语句
注意:如果条件语句的结果一直都是true,会造成死循环
为了避免死循环应该在循环体内设置结束循环的操作
python中没有do-while循环
# 使用while循环计算1+2+3+..+100
n=100
sum1 = 0
while n > 0:
sum1+=n
n-=1
print(sum1)
# 练习 计算2+4+6+..+100
sum2 =0
n = 2
while n <= 100:
sum2 += n
n += 2
print(sum2)
3.continue和break
continue和break两个关键字,都是作用于循环当中,用来结束循环。
- continue:关键字,在循环体中遇到continue就结束当次循环,直接进入下次循环的判断
(如果是for循环就让变量去取下一个值,如果是while循环就去判断条件语句)
for x in range(10):
print(x)
continue # 不执行continue后面的语句,直接让x取下一个值
print("====")
# 打印0-10的偶数
for x in range(11):
if x % 2:
continue
print(x)
- break:关键字,在循环体中遇到break,就直接跳出循环
for x in range(10):
print(x)
break
print('=====')
print('!!!!!!')
# 通过改变条件语句的值来结束循环
num = 1
while num <=20:
print(num)
num += 1
# 通过break结束死循环
num = 1
while True:
if num > 20:
break
print(num)
num += 1
# 练习:找出第一个在100-1000以内能被3和17 同时整除的数
num = 100
while True:
if not(num % 3) and not(num % 17):
print(num)
break
num += 1
4.for和while的选择
for循环的循环次数是确定的,while循环的循环次数可以不确定
1.循环次数不确定的时候,选择while循环。循环次数确定时,选择for循环
2.通过循环遍历一个序列中的值,使用for循环
输入函数:input()
接收从控制台输入的数据(输入的数据以回车结束)
程序中遇到input()函数,程序会阻塞,等待用户输入完成后,才会接着执行后面的代码
# 使用value去保存从控制台输入的数据
value = input()
print(value)
产生随机数
python中有一个内置模块,可以产生随机数:random
导入模块 import + 模块名
使用导入模块的函数 格式:模块名+.+函数名
#产生0-10的随机整数
import random
value = random.randint(0,10)
print(value)
网友评论