python学习笔记一 递归

汉诺塔

def hannoi(n,x,y,z):
    if n==1:
        print(x,'-->',z)
    else:
        hannoi(n-1,x,z,y)#将n-1个盘子从x移动到y
        print(x,'-->',z)#将x中最后一个盘子移动到z
        hannoi(n-1,y,x,z)#将n-1个盘子从y移动到z

n=int (input('请输入汉诺塔层数: '))
hannoi(n,'X','Y','Z')

斐波那契数列

def fac(n):
    if n<1:
        return -1
    if n==1 or n==2:
        return 1
    else:
        return fac(n-1)+fac(n-2)

number = int(input('请输入月 '))
result = fac(number)
if result != -1:
    print('%d 月后兔子数是 %d' % (number,result))

#索引不好用时
#创造访问字典,映射类型
dic1 ={'李宁':'一切成为可能','耐克':'Just do it','鱼c':'python'}
print('李宁口号: ',dic1['李宁'])
#字典属于映射,用{},前面为key值,:后为value值
print(dic1['李宁'])
dict3=dict((('F',70),('A',20),('B',40)))
print(dict3)
dict4=dict(n='mm',f='ww')
print(dict4)
dict4['n']='word'
print(dict4)
dict4['u']='we'
print(dict4)
dict5={}
dict5.fromkeys((1,2,3))
dict5.fromkeys((1,2,3),('one','two'))
for eachitem in dic1.items():
    print(eachitem)
dict4.clear()

猜你喜欢

转载自blog.csdn.net/qq_41244435/article/details/83345032