python数据分析--- ch3-5 python数字类型、算术运算符及流程控制语句

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 为水仙花数

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值