python知识7 运算符【多测师】
一、运算符 例题:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 >>> class Solution: //定义类 ... def Number0f1(self,n): ... cnt = 0 ... if n<0: ... n=n&0xffffffff ... while n: ... cnt+=1 ... n=(n-1)&n ... return cnt >>> so=Solution() //实例化对象 >>> so.Number0f1(55) //进行调用和入参 5 >>> so.Number0f1(55753) 9 >>> so.Number0f1(2) 1 >>> so.Number0f1(3) 二、编程第一步 1.斐波那契数列:俩个元素的总和确定了下一个数 >>> a,b=0,1 >>> while b<10: ... print(b) ... a,b=b,a+b ... 1 1 2 3 5 8 >>> 2.end关键字使用 关键字end可以用于将结果输出到同一行 >>> a,b=0,1 >>> while b<10: ... print(b,end='') ... a,b=b,a+b ... 112358>>> >>> a,b=0,1 >>> while b <1000: ... print(b,end='') ... a,b=b,a+b ... 1123581321345589144233377610987>>> 三、递归函数写斐波那契数列 >>> def fab(n): ... if n<1: ... print('输入错误') ... return -1 ... if n==1 or n==2: ... return 1 ... else: ... return fab(n-1)+fab(n-2) 四、利用字典记录斐波那契数列的和 n=int(input('请输入一个整数:')) def fab(n): if n<1: print('输入有误!') return -1 if n==1 or n==2: return 1 else: return fab(n-1)+fab(n-2) result=[] for i in range(1,n+1): result.append(fab(i)) print(result) n=int(input('请输入一个整数:')) dic = {0:0,1:1} def fib(n): if n in dic: return dic[n] else: temp = fib(n-1)+fib(n-2) dic[n] = temp return temp for i in range(n): print(fib(i),end=" " )