python中怎么表示是3的倍数或者尾数是3的数?

Python0631

python中怎么表示是3的倍数或者尾数是3的数?,第1张

3的倍数尾数是3用取模运算判断余数。

a%3==0 3的倍数

a%10==3 尾数3

判断3的倍数可以利用3倍数的特征,所有位置上数字的和能被3整除就是3的倍数。

a=input()

s=0

for i in a:

缩进s+=int(i)

if s%3==0:print('3的倍数')

判断末尾是否为3,就直接判断字符串末尾字符。

a=input()

if a[-1]=='3':print('3是尾数')

判断 num 是否为整数, num 为整数。

使用 %

优化方法一

使用 &位运算符 ,运算速度更快。

原理

&是按位与运算符, 假如n=10转换二进制为 0000 1010 ,1的二进制为 0000 0001

意思就是把 n 转换成二进制,然后看 n二进制 的 最后一位 ,如果最后一位为1的话,结果就是1,如果最后一位是0的话,那就是0。 &相当于AND。

因为2的倍数的二进制最后一位都是0,所以n&1表达式跟n%2结果是一样的

编写的100以内九的倍数个数的Python程序如下

n=len([i for i in range(1,100) if i%9==0])

print(f"100里有{n}个九的倍数")