一、运算符
例题:输入一个整数,输出该数二进制表示中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=" " )