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=" " )

 

posted @ 2020-06-13 14:06  多测师_树哥  阅读(204)  评论(0编辑  收藏  举报