一、数据类型转换
隐式转换-自动完成
在对数据进行运算的过程中,较低数据类型(整数)就会转换为较高数据类型(浮点数)以避免数据丢失
a=1
b=2.0
print(a+b) #3.0
显式转换-需要使用类型函数转换
-
布尔值转换–bool()
-
所有的数据都可以转换为布尔值
-
转换为False,非0转换为True
-
所有的空值对象全是False
-
print(bool(0), bool(1), bool(-1)) # False True True
print(bool([]), bool({}), bool(())) # False False False
-
数字转换
-
转整型int()
布尔值:只能转False-0和True-1
浮点型:向下取整字符串:去掉引号是一个整数的字符串才能转
-
浮点型float()整形转浮点型去掉引号是数字的字符串课转成浮点型布尔值可以转浮点型
False-0.0和True-1.0
-
字符串型str()
-
print(int(bool(100))) # 1
print(int(1.1)) # 1
print(int(.1)) # 0
print(int(1.)) # 1
# print(int('2001.0')) # 错误
print(int('2000')) # 2000
print(float('1.1')) # 1.1
print(float('1')) # 1.0
print(str(2))# '2'
二、条件控制
单分支结构
#单分支结构语法:
if 条件:
代码段1
else:
代码段2
注意:
- 缩进:一般把缩进看做四个空格,一个程序的缩进必须保持一致;相同缩进数的语句在一起组成一个语句块
- 每个条件后面要使用冒号‘:’ ,表示接下来是满足条件后要执行的语句块
- python中没有switch-case语句
#判断是否是闰年
year = int(input('请输入年份:'))
print(type(year))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print(year, '是闰年')
else:
print(year, '不是闰年')
多分支结构
#多分支结构语法:
if 条件1:
代码块1
elif 条件2:
代码块2
...
else:
代码块N
嵌套结构
#if嵌套
if 条件1:
语句
if 条件2:
语句
elif 条件3:
语句
else:
语句
elif 条件4:
语句
else:
语句
# 判读一个随机数是否是偶数,如果是偶数,再判断其是否是3的倍数
from random import randint
# 随机模块:random
# randint(a,b)--a<b,randint能够生成[a,b]范围的随机整数
num = randint(1, 100)
print(num)
if num % 2 == 0:
print(f'{num}是偶数')
if num % 3 == 0:
print(f'{num}是3的倍数')
else:
print(f'{num}不是3的倍数')
else:
print(f'{num}不是偶数')
注意:对于简单的条件控制可以使用三目运算符简化代码
# 结果1 if 条件 else 结果2 ---如果条件成立则结果1 ,反之结果2
age = 18
if age < 18:
print('未成年')
else:
print('成年')
'成年' if age >= 18 else '未成年'