python语言数值操作符_python数据类型和运算符

  • Post author:
  • Post category:python


一、python类型判断

type,isinstance

type(变量或常量):返回数据类型

a = 23.3

print(type(a))

b = 2e3

print(b, type(b))

输出:

2000.0

isinstance(变量或常量,数据类型名) 判断数据类型。如果是指定数据类型返回true,否则返回false

a = 10

if isinstance(a, int):

print(“a是整型”)

二、python数据类型分为内置类型(语言本身支持的类型)和自定义类型,类(class)。

常用的内置类型包括:

1.数值类型

整数int,表示整数类型。例如:3,4,5

浮点数float,代表实数。有2中写法:自然表示法和科学计数法

自然表示法:2.3,4.5

科学计数法:2e2表示200.e是指以10为底的指数,e后边必须跟一个整数

a = 23.3

print(type(a))

b = 2e3

print(b, type(b))

输出:

2000.0

复数complex 2+3j

c = 3 + 2j

print(c, type(c))

输出:

(3+2j)

2.布尔类型

布尔类型表示真假、对错、阴阳等,只要是两种状态的都可以用布尔类型表示。它有两个值:True(1)和False(0)

数值和布尔能进行的算数运算

a = 3

b = 3.5

c = True

print(a + c)

print(c * 5)

3.字符串类型

用引号引起来的就是字符串

’单引号字符串‘

‘双引号字符串’

”’

多行字符串

”’

“””

多行字符串

“””

转义字符串 ,如果单引号中包括了一个单引号那么需要对里面的单引号转义

转义字符描述转义字符描述

\’表示一个普通字符单引号

\r回车

\”表示一个普通字符双引号

\n换行

\”’一个普通的三单引号

\\一个普通的字符

\\”””一个普通的三双引号

\ttab键

三、运算符和表达式(表达式没有值)

1.算术运算符包括:+ – * / //(整除) %(取模,取余数) **(指数)

模运算符的用途:判断奇偶,判断是否能够整除,最大公约数,水仙花数

2.函数

数学函数

1916428-20200110163524180-1409303384.png

随机函数

随机函数引入random库

import random

print(random.randint(1,100)) 1到100之间的随机整数,前包后包

print(random.random()) 0到1之间的随机小数,前包后不包

print(random.randrange(1,100,2)) 1到100之间以2为步长输出随机数,前包后不包

输出:

33

0.05559590353134125

21

1916428-20200110163734091-884027213.png

3.赋值运算符

= += -= *= /=

1916428-20200110164318982-1416263253.png

赋值运算符左边必须是变量

4.关系运算符

关系运算符就是比较运算符,结果是布尔值

1916428-20200110164715991-452047253.png

5.逻辑运算

逻辑与、逻辑或、逻辑非

and 、or 、not

and a and b a为真,值为b的值。否则为a 的值。2个同时为真才为真

print(8 and 0)

print(8 and ‘hello’)

print(0 and 8)

print(None and ‘ooo’)

print(0 and None)

输出:

0

hello

0

None

0

python中 ”,0,None,false 表示假,其他均为真

or a or b a为真,值为a的值,否则为b的值。2个中有一个为真就为真

print(1 or 0)

print(None or 1)

print(‘hello’ or ”)

输出:

1

1

hello

not not a a为真,输出为假

短路计算

逻辑与中 a and b 中,a为假,则不计算b的值

逻辑或中a or b 中,a为真,则不计算b的值。

优先级:

not > and > or

数据类型的转换:

不同数据类型是无法进行运算的,需要转换为同一数据类型

python中,int float bool三种类型是可以自行转换的,不需要转换,但是字符串不行。

练习:

1.将华氏温度转换为摄氏温度

C = float(input())

F = 1.8 * C + 32

print(F)

2.求解一次方程ax+b=0,输入a和b的值,求解x

a = int(input(“请输入一次方程的系数a:”))

b = int(input(“请输入一次方程的常量b:”))

print(“一次方程 %dx+%d=0 的根是:x=%d” %(a, b, (0 – b)/a))

输出

请输入一次方程的系数a:2

请输入一次方程的常量b:6

一次方程 2x+6=0 的根是:x=-33.编写一程序,接收从键盘上输入的2个学生的姓名、数学成绩、计算机成绩,粉笔存入6个变量中,然后打印出这2个学生的姓名和总成绩

name1 = input(“请输入同学a的名字:”)

name2 = input(“请输入同学b的名字:”)

core1 = float(input(“请输入同学a的数学成绩:”))

core2 = float(input(“请输入同学b的数学成绩:”))

core3 = float(input(“请输入同学b的计算机成绩:”))

core4 = float(input(“请输入同学b的计算机成绩:”))

core_all = core1 + core2 + core3 + core4

print(“同学%s和同学%s的总成绩为:%.0f” %(name1, name2, core_all))

print(“同学%s和同学%s的总成绩为:%.2f” % (name1, name2, (core1 + core2 + core3 + core4)))

4.编写一程序,对用户输入的两个数据a和b,输出交换后的a和b的值

a = int(input(“请输入值a:”))

b = int(input(“请输入值b:”))

a, b = b, a

print(“分别输出a和b的值:%d,%d” %(a, b))

5.从控制台输入2个数,输出较大的值

a = int(input(“请输入值a:”))

b = int(input(“请输入值b:”))

print(“请输出最大值:%d” % max(a, b))

6.从键盘输入一个整数,判断这个数能否被3整除

a = int(input(“请输入值a:”))

if a % 3 ==0:

print(“能被3整除”)

7.从键盘输入一个3位数,求这三位数各个数字的和

a = int(input(“请输入三位整数a:”))

gewei = a % 10

shiwei = a // 10 % 10

baiwei = a // 100

print(“各个位数之和为:%d” % (gewei + shiwei + baiwei))

8.从控制台输入一个三位数,如果是水仙花数,就打印 “是水仙花数”,否则打印“不是水仙花数”

a = int(input(“请输入三位整数a:”))

gewei = a % 10

shiwei = a // 10 % 10

baiwei = a // 100

if gewei**3 + shiwei**3 + baiwei**3 == a:

print(“是水仙花数”)

else:

print(“不是水仙花数”)