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}个九的倍数")