3.1 数字类型

数字类型:整数类型、浮点数类型、复数类型。

整数类型:十进制、二进制、八进制和十六进制。

进制种类

引导符号

描述

十进制

默认情况,例:1010,-1010

二进制

0b或0B

由字符0和1组成,例:0b1010,0B1010

八进制

0o或0O

由字符0到7组成,例:0o1010,0O1010

十六进制

0x或0X

由字符0到9、a到f或A到F组成,例:0x1010

#不同进制的整数之间可以直接运算

>>>0x3F2/1010

1.0

>>>(0x3F2+1010)/0o1762

2.0

Python 平方根

平方根,又叫二次方根,表示为〔√ ̄〕,如:数学语言为:√ ̄16=4。语言描述为:根号下16=4。

以下实例为通过用户输入一个数字,并计算这个数字的平方根:

实例(Python 3.0+)

# -*- coding: UTF-8 -*-# Filename : test.py# author by : www.runoob.comnum=float(input('请输入一个数字:'))num_sqrt=num**0.5print('%0.3f 的平方根为 %0.3f'%(num,num_sqrt))

执行以上代码输出结果为:

$ python test.py请输入一个数字:44.000的平方根为2.000

在该实例中,我们通过用户输入一个数字,并使用指数运算符 ** 来计算该数的平方根。

该程序只适用于正数。负数和复数可以使用以下的方式:

实例(Python 3.0+)

# -*- coding: UTF-8 -*-# Filename : test.py# author by : www.runoob.com# 计算实数和复数平方根# 导入复数数学模块importcmathnum=int(input("请输入一个数字:"))num_sqrt=cmath.sqrt(num)print('{0} 的平方根为 {1:0.3f}+{2:0.3f}j'.format(num,num_sqrt.real,num_sqrt.imag))

执行以上代码输出结果为:

$ python test.py请输入一个数字:-8-8的平方根为0.000+2.828j

通过内置方法len()来计算字符串的长度,注意这个计算的是字符的长度。

aa = 'afebb'

bb = '你'

print len(aa)

print len(bb)

Python pow() 函数

描述

pow() 方法返回 xy(x的y次方) 的值。

语法

以下是 math 模块 pow() 方法的语法:

importmath

math.pow(x,y)

内置的 pow() 方法

pow(x,y[,z])

函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z

注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。

参数

x -- 数值表达式。

y -- 数值表达式。

z -- 数值表达式。

返回值

返回 xy(x的y次方) 的值。

实例

以下展示了使用 pow() 方法的实例:

实例

#!/usr/bin/python# -*- coding: UTF-8 -*-importmath# 导入 math 模块print"math.pow(100, 2) :",math.pow(100,2)# 使用内置,查看输出结果区别print"pow(100, 2) :",pow(100,2)print"math.pow(100, -2) :",math.pow(100, -2)print"math.pow(2, 4) :",math.pow(2,4)print"math.pow(3, 0) :",math.pow(3,0)

以上实例运行后输出结果为:

math.pow(100,2):10000.0pow(100,2):10000math.pow(100,-2):0.0001math.pow(2,4):16.0math.pow(3,0):1.0

TypeError: \'int\' object is not iterable问题解决

发表于 2018-5-9 16:18|只看该作者

在程序中报出如下错误

Traceback (most recent call last):

File "BalancePoint.py", line 15, in

for i in index:

TypeError: 'int' object is not iterable

经过多次查询,最终找到原因:不能直接用int进行迭代,而必须加个range。

大家写排序时候如果遇到,有更好的方法也可以提出来~~~

发表于 2018-5-11 15:26 | 只看该作者

因为 int 类型,没有iter()方法, 要可以使用for 方法进行迭代,必须要实现iter()方法

jieba.lcut() 可以直接输出列表。jieba.lcut()类型是 generator(生成器)