Python基础知识总结(四)
一、基本数据类型的转换
数据类型的转换有两种形式:自动转换;强制转换
# 自动转换 bool
True(1) False(0)
>>> 1 + True
2
>>> 1+False
1
# 强制转换
字符串的转换
str() #将其他数据类型转变为字符串
>>> age = 25
>>> type(age)
<class 'int'>
>>> str(age)
'25'
>>> res = str(age)
>>> type(res)
<class 'str'>
>>> res
'25'
# 转换成整型
int() #只有与整型类似的数据类型才可以进行转换
>>> str1 = '25'
>>> type(str1)
<class 'str'>
>>> res = int(str1)
>>> type(res)
<class 'int'>
>>> res
25
# 转换浮点型
float() #只有与浮点型类似的数据类型才可以进行转换
>>> str1 = '25.5'
>>> res = float(str1)
>>> type(res)
<class 'float'>
>>> age = 25
>>> res = float(age)
>>> type(res)
<class 'float'>
>>> res
25.0
list() #转换成列表
tuple() #转换成元组
#转成bool
bool() # 得到的结果是True、False
# 结果为False的情况:空字符串,数字0/0.0;当数据类型为空时,得到的结果都为False,其余情况都为True
>>> age = 12
>>> res = bool(age)
>>> res
True
>>> age = 0
>>> res = bool(age)
>>> res
False
>>> str1 = ''
>>> res = bool(str1)
>>> res
False
>>> name = []
>>> res = bool(name)
>>> res
False
# 接受输入
>>> input("正方形的边长为:")
正方形的边长为:22
'22'
>>> B = input("正方形的边长为:")
正方形的边长为:22
>>> B
'22'
>>> type(B)
<class 'str'>
>>> B = int(input("正方形的边长为:"))
正方形的边长为:22
>>> type(B)
<class 'int'>
>>> B * B
484
二、运算符
2.1 算术运算符
符号 | 含义 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法(得到的结果是浮点型) |
% | 取余(得到余数) |
// | 整除(有余数的情况下,得到整数部分) |
** | 幂(乘方) |
2.2 赋值运算符
符号 | 含义 | 实例 |
---|---|---|
= | 赋值运算 | c = a + b |
+= | 加赋值 | a += b —> a = a + b |
-= | 减赋值 | a -= b —> a = a - b |
*= | 乘法赋值 | a *= b —> a = a * b |
/= | 除法赋值 | a /= b —> a = a / b |
//= | 整除赋值 | a //= b —> a = a // b |
%= | 取余赋值 | a %= b —> a = a % b |
**= | 幂赋值 | a **= b —> a = a **b |
2.3 比较运算符
比较运算符得到的结果是bool
符号 | 含义 |
---|---|
> | 大于号,比较两边数值的大小,返回结果是布尔型 |
< | 小于号 |
== | 等号,仅比较两边数值是否相等(可以比较两边字符串是否相同) |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
>>> print(5>22)
False
>>> print(22 == 25)
False
>>> print(56 >= 56)
True
>>> print(88 >= 99)
False
>>> print(66 != 77)
True
>>> print(66 != 66)
False
2.4 逻辑运算符
得到的结果是bool
符号 | 含义 |
---|---|
and | 与运算,与中学数学中’且’含义一样。and左右两边的值必须都为真才为真否则为假 |
or | 或运算,与中学数学中’或’含义一样。or左右两边的值有一个为真则为真,全为假才假 |
not | 非运算,与中学数学中’非’含义一样。取反之意;即not后的值为真则结果为假,否则反之 |
>>> True and False
False
>>> True and True
True
>>> False and False
False
>>> True or False
True
>>> True or True
True
>>> False or False
False
>>> not False
True
>>> not True
False
# 阿宸:语文 95 数学 98 就站门口两个小时
>>> C = int(input("语文成绩:"))
语文成绩:99
>>> M = int(input("数学成绩:"))
数学成绩:90
>>> print(C >= 95 and M>= 98)
False
>>> print(C >= 95 or M>= 98)
True
# 短路
and :当and前面的值为假,and就不往后面执行
>>> 1 and 0
0
>>> 0 and 1
0
>>> 0 and 2
0
>>> 1 and 1
1
or: 当or前面的值为真,or就不往后面执行
>>> 1 or 0
1
>>> 0 or 1
1
>>> 0 or 0
0
>>> 1 or 2
1
2.5 成员运算符
得到的结果是bool
in : 表示该元素(数据)在该序列中
not in : 表示该元素(数据)不在该序列中
>>> name = '黄泽鑫'
>>> print('鑫' in name)
True
>>> str1 = "阿宸很帅"
>>> print('丑' in str1)
False
>>> print("丑" in str1)
False
>>> print("丑" not in str1)
True
>>> ls = [23 , 33 , 43 , 34]
>>> print(45 in ls)
False
>>> print(23 in ls)
True
2.6 运算符优先级
>>> 2 + 1 * 3
5
>>> 23 and 1 - 1
0
>>> 23 > 20 + 1
True
>>> 23 > 25 - 5
True
>>>
三、编辑器的安装
、
作业
1、运算符(考虑变量转换问题)
(1)已知小明的成绩是98分,小白的成绩比小明低2.5分 求小白的成绩
(2)从控制台输入一个学生的语文英语和数学成绩 求该学生的平均成绩
(3)从控制台分别输入学生1和学生2 的数学成绩 输出学生1的成绩是否比学生2的成绩低
(4)计算圆的面积
- 用户输入的是圆的直径
(5)摄氏度转为华氏温度
- 接受用户输入的摄氏温度数值
- 转化公式:华氏温度 = (摄氏度 * 1.8)+ 32
(6)计算BMI指数
- 接受用户输入的身高(单位/米)、体重(单位/千克)
- BMI指数为体重除以身高的平方
(7)鸡兔同笼
- 用户输入鸡兔总共的只数,腿的总数
- 结合运算符得到鸡兔分别有多少只
8
``苹果的价格是8.5元一斤
``买了7.5斤苹果
``计算付款金额并输出
9、已知买5支铅笔要6元钱,控制台输出17支铅笔多少钱?(a÷b代码用a/b表示)(难度★)