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(生成器)