数字类型和布尔类型的转换
整型
浮点型可以转换成整型
In:
print(int(123.456),type(int(123.456)))
Out:
123 <class 'int'>
此时,直接舍弃小数部分456。
去掉引号就是整数的字符串可以转换为整型,去掉引号是是小数不能转换
In:
print(int("123"),type("123"),type(int("123")))
Out:
123 <class 'str'> <class 'int'>
布尔值可以转换为整型
In:
print(int(True),int(False))
Out:
1 0
浮点型
整数可以转换为浮点型
In:
print(float(123),type(123),type(float(123)))
Out:
123.0 <class 'int'> <class 'float'>
数字字符串可以转换为浮点型
In:
print(float("123.12"),type("123.12"),type(float("123.12")))
Out:
123.12 <class 'str'> <class 'float'>
可以将无意义的0隐藏掉
布尔值可以转换为浮点型
In:
print(float(True),(float(False)))
Out:
1.0 0.0
布尔值
-
所有数据都可以转换为 布尔值
-
所有表示空值的数据和表示0的数据都是False
-
只要不是False,皆为True
In:
print(bool(100),bool(" "),bool("None"),bool([None]))
print(bool(0),bool(""),bool(None),bool([]))
Out:
True True True True
False False False False
单分支结构
if 条件表达式:
语句/语句块
else:
语句/语句块
条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。
语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。
num = input("输入一个数字:")
if int(num) < 10:
print(num)
三目运算符
- 三目运算符是单分支结构的变形。
- 不是所有的单分支都适合转换为三目运算符,解决不了代码臃肿问题。
- 解决代码臃肿问题
In:
age=17
if age >= 18:
print("成年")
else:
print("未成年")
print("成年"if age >= 18 else "未成年")
Out:
未成年
未成年
多分支结构
if 条件表达式:
语句/语句块
elif:
语句/语句块>
elif:
语句/语句块
else:
语句/语句块
嵌套分支结构
- 分支结构是可以相互嵌套的
- 代码块中还可以写分支结构
In:
num=20
if num % 2 ==0:
if num % 4 ==0:
print("既是偶数还能被4整除")
else:
print("是偶数但不能被4整除")
else:
print("不是偶数")
Out:
既是偶数还能被4整除
注意:num % 2 ==0,是比较大小,最终得到的结果是True,继续运行下面的代码块
而 num % 得到的值是0,在条件中默认将0,转换为 False
例如:
In:
num=20
if num % 2 :
print("是偶数")
else:
print("不是偶数")
Out:
不是偶数
循环结构
让你重复某一项工作
for in 循环
for 变量 in 容器:
语句/语句块
- 容器中的元素是固定好的,个数是有限的
- 每循环一次就会从容器中获得一个元素,组成新的变量,再次循环
- 直到达到循环截止条件
range 方法
- range 是一个方法,左开右闭区间,能够根据提供的数字,生成一个有限的整数的集合
- range (start,stop,step)
- start为开始参数,默认为0,可以省略不写
- stop为结束参数,默认为1,可以省略不写
- step为步长,确认下一个整肃获取条件,默认为1
- 如果step出现了,start就不能隐藏不写了
while 循环
- for循环用做有限次数循环,而while既可以有限次循环,也可以无限次循环
- 程序不允许无限次循环,即所谓的死循环
- 一般for用于确定次数的有限次的循环,whil用于不确定次数的有限次循环
from random import randint
num = randint(1,100)
print(num)
while True :
name=int(input("请输入你猜的值:"))
if num>name:
print("输入小了,请重新输入:")
elif num<name:
print("输入大了,请重新输入:")
else:
print("恭喜你,猜对了")
break
最后使用break关键字退出循环
关键字
break:只能用于循环中,一旦被触发,直接退出该循环
continue:只能用于循环中,一旦被触发,直接结束本次循环,跳入下一次循环