python数据分析--- ch3-5 python数字类型、算术运算符及流程控制语句
- 1.Ch3--数字类型的数据
- 1.1 Python中的数据类型
- 1.1.1整数类型(int)
- 1.1.2 浮点类型(float)
- 1.1.3复数类型(complex)
- 1.1.4 布尔类型(bool)
- 1.2 数字类型的相互转换
- 1.2.1 隐式类型的转换
- 1.2.2 显式类型的转换
- 2. Ch4--算术运算符
- 2.1 算术运算符
- 2.2 比较运算符
- 2.3 逻辑运算符
- 2.4 赋值运算符
- 2.5 运算符的优先级
- 3. Ch5--程序流程控制
- 3.1 分支语句( if 条件语句)
- 3.1.1 if
- 3.1.2 if - else
- 3.1.3 if-elif-else
- 3.1.4 动动手-- score 0-100
- 3.2 循环语句:while和for。
- 3.2.1 while
- 3.2.2 for
- 3.3 跳转语句
- 3.3.1 break语句
- 3.3.2 continue语句
- 3.4 动动手
1.Ch3–数字类型的数据
Python中有6种主要的内置数据类型:数字、字符串、列表、元组、集合和字典。
1.1 Python中的数据类型
Python中有4种数字类型:整数类型(int)、浮点类型(float)、复数类型(complex)和布尔类型(bool)。
1.1.1整数类型(int)
a = 28
type(a)
output
int
a2 = 0b11100
type(a2)
output
int
a8 = 0o34
a8
output
28
a16 = 0x1c
print(a16)
output
28
1.1.2 浮点类型(float)
b = 0.28
type(b)
output
float
b2 = .28
b2
output
0.28
b3 = 2.8e-1
print(type(b3))
b3
output
<class ‘float’>
0.28
b4 = 2.81e4
print(b4)
type(b4)
output
28100.0
float
1.1.3复数类型(complex)
复数在数学中被表示为:a+bi,其中a被称为实部,b被称为虚部,i被称为虚数单位。
c = 1+2i
c
output
File “C:\Users\XXXX\AppData\Local\Temp\ipykernel_12716\973210226.py”, line 1
c = 1+2i
^
SyntaxError: invalid syntax
**python中用j表示虚部**
c1 = 1+2j
type(c1)
output
complex
1.1.4 布尔类型(bool)
d = bool(0)
print(d)
output
False
d1 = bool(1)
print(d1)
type(d1)
output
True
bool
d2 = bool(-100.8)
print(d2)
type(d2)
output
True
bool
d3 = " "
d31 = bool(d3)
print(d31)
output
True
d4 = bool([])
d4
output
False
d5 = bool({})
d5
output
False
1.2 数字类型的相互转换
1.隐式类型的转换
2.显式类型的转换
1.2.1 隐式类型的转换
# 1.隐式类型的转换
f = 1.0+1
print(f)
f1 = 1.0+True
print('f1 = ',f1)
f2 = 1 + True + 1.0
print('f2 = ',f2)
output
2.0
f1 = 2.0
f2 = 3.0
1.2.2 显式类型的转换
# 2.显式类型的转换
g = int(input('输入1-100之间的整数:'))
# type(g)
g+12
output
输入1-100之间的整数:88
100
g1 = float(input('输入1-100之间的整数:'))
# type(g)
g1+12
output
输入1-100之间的整数:88.0
100.0
int(100.99)# 向0取整
output
100
round(-0.9)
output
-1
round(-0.3)# 四舍五入
output
0
import math
math.floor(1.9) # 向下取整
output
1
math.ceil(-5.3)# 向上取整
output
-5
2. Ch4–算术运算符
2.1 算术运算符
a = 10
b = 3
a**b
output
1000
2.2 比较运算符
a = 10
b = 3
a!=b
output
True
思考
c = 'AC'
d = 'Ac'
c<d
output
True
f1 = 'python'
f2 = 'python数据分析'
f1==f2
output
False
2.3 逻辑运算符
g = 1
h = 0
def f3():
print('进入函数f3')
return True
not f3()
output
进入函数f3
False
(g>h) and f3()
output
进入函数f3
True
(g<h) and f3()
output
False
(g>h) or f3()
output
True
2.4 赋值运算符
a+=b
a
output
25
b
output
3
2.5 运算符的优先级
not f3() and (g>h)
output
进入函数f3
False
(g>h) or not f3()
output
True
3. Ch5–程序流程控制
- 分支语句(条件语句)
- 循环语句
- 跳转语句
3.1 分支语句( if 条件语句)
- if
- if-else
- if-elif-else
3.1.1 if
score = int(input("请输入一个0-100之间的整数:"))
if score<60:
print("你需要加倍努力")
if score>=60 and score<90:
print("你的成绩还可以,但仍需继续努力!")
if score>=90:
print("你真优秀!")
output
请输入一个0-100之间的整数:87
你的成绩还可以,但仍需继续努力!
3.1.2 if - else
score = int(input("请输入一个0-100之间的整数"))
if score<60:
print("你需要加倍努力")
else:
if score<90:
print('你的成绩还可以,但仍需继续努力!')
else:
print("你真优秀!")
3.1.3 if-elif-else
score = int(input("请输入一个0-100之间的整数"))
if score<60:
print("你需要加倍努力")
elif score>=60 and score<90:
print('你的成绩还可以,但仍需继续努力!')
else:
print("你真优秀!")
3.1.4 动动手-- score 0-100
- <60 :不及格
- 大于等于60 & <80:及格
- 大于等于80 & <90:良好
- 大于等于90:优秀
3.2 循环语句:while和for。
3.2.1 while
i=0
while i*i<100:
i+=1
print('i*i=',i*i)#只打印循环结束时的结果
output
i*i= 100
i=0
while i*i<100:
print('i*i=',i*i)#打印每次循环的结果
i+=1
***output***
i*i= 0
i*i= 1
i*i= 4
i*i= 9
i*i= 16
i*i= 25
i*i= 36
i*i= 49
i*i= 64
i*i= 81
3.2.2 for
for i in [0,1,2,3,4,5,6,7,8,9]:
print(i)
print('i*i=',i*i)
***output***
0
i*i= 0
1
i*i= 1
2
i*i= 4
3
i*i= 9
4
i*i= 16
5
i*i= 25
6
i*i= 36
7
i*i= 49
8
i*i= 64
9
i*i= 81
for s in 'hello':
print(s)
output
h
e
l
l
o
3.3 跳转语句
跳转语句能够改变程序的执行顺序,包括break、continue和return。
3.3.1 break语句
中断整个程序
i=0
while i*i<100:
i+=1
if i==8:
break
print('i*i=',i*i)
***output***
i*i= 1
i*i= 4
i*i= 9
i*i= 16
i*i= 25
i*i= 36
i*i= 49
3.3.2 continue语句
跳过本次循环,后续循环继续
i=0
while i*i<100:
i+=1
if i==8:
continue
print('i*i=',i*i)
***output***
i*i= 1
i*i= 4
i*i= 9
i*i= 16
i*i= 25
i*i= 36
i*i= 49
i*i= 81
i*i= 100
3.4 动动手
编写代码,通过for/while循环计算出水仙花数。
提示:水仙花数是一个三位数,三位数各位的立方之和等于三位数本身
for n in range(100,1000):
n1 = n//100# 计算百位数
n2 = (n%100)//10# 计算十位数
n3 = (n%10)# 计算个位数
num = n1**3+n2**3+n3**3#求立方和
if n == num:
print(n,'为水仙花数')
output
153 为水仙花数
370 为水仙花数
371 为水仙花数
407 为水仙花数