在其他语言中一样,我们常常需要将拿到的数值进行处理,这里将其中的某些典型的应用列举如下
一、Python中的几种算数运算符号
1、整除商“//”或者叫做取整
a = 15
b = 5
c = a//b
print ("7 - c 的值为:", c)
输出的结果为3
2、取模-百分号%
取模的意思就是判断是否可以被整除,返回0或1,不会返回除后的商。
这个符号和c++及java中的整除符合一样,表示整除的意思,这也是我们初学编程的时候最容易刷到的质数(素数)题中必用的符号。如以下获取2~n中的质数:
def getPrime(n):
m = 1
for i in range(2, n):
for j in range(2, i-1):
if i % j == 0:
m=0
break
if m==1:
print(i)
m=1
又如,判断某个数是否为质数:
def isPrime(n):
m = 1
for i in range(2, n):
for j in range(2, i-1):
if i % j == 0:
m=0
break
if m==1:
return True
3、反斜杠“/”
这个符号求商符号,得到的是商的值,如
print(5/4)
输出的结果为:1.25
4、次方“**”
这里是Python不同与c或者java的次方运算,如5的四次方:
print(5**4)
输出:625
5、不再是次方运算的“^”
“^”在Python中是位运算符,它按位异或运算的符合了。所以不是普通的数字处理方式了。既然是按位运算那么就是对现有的十进制数对应的二进制数进行运算。实际我们可以通过python内置的bin函数来看看他们的二进制
如:
a = 10
b = 3
c = a^b
print(bin(a).replace('0b',"").zfill(4))
print(bin(b).replace('0b',"").zfill(4))
print(bin(c).replace('0b',"").zfill(4))
print ("a^b 的值为:", c)
输出结果为:
1010
0011
1001
a^b 的值为: 9
这些位运算其实也是不便于我们直接阅读成为10进制的结果的,所以一般人很少用到(这里提供一个将二进制转回十进制的方法,那就用强类型转换函数int,如:)
a=int("11110",2)
print("十进制结果为:",a)
输出:
十进制结果为:30
二、拆分一个多位数为单个数
直接上代码,这里用的最原始的方法,在最小系统中都是可以用的。
def decodeNum(b):
a=1
c=len('%d'%b)
for k in range(c-1):
a=a*10
for i in range(c):
print(round(b//a-(b//(a*10))*10))
a=a/10
当然,我们可以直接将一个数用str()来变成字符串,如:str(566546546)。
也还可以,将一个数直接转为字符串了,直接使用循环拆分为单个数字字符,然后用int()函数转回单个数字。
三 、获取一个多位数的首位数
在Python中有更简单的方法,这里我们用的是大家都熟知的循环法,用math库来获取更容易,这里就不赘述了:
def getFisrt(a):
while a//10>0:
a=a//10
pass
return a
同样,你也可以通过字符串强制转换后来截取首个字符来获取。我这里讲的是纯数学的运算符的方法。