Study Python Day3

递归问题:

【汉诺塔的问题】
   1.每次移动一个盘子
   2.任何时候,大盘子在下,小盘子在上
方法:
   1. 当n=1时,直接把A上的盘子移动到C盘子上 
   2. 当n=2时,
         先把小盘子放到B上
         把大盘子从A放到C上
         再把小盘子从B放到C上

def hanno(n,a,b,c):
	'''
	汉诺塔的递归实现
	n代表有几个盘子
	a第一个塔
	b第二个塔
	c第三个塔
	'''
	if n == 1:
		print(a,"--->",c)
		return None
	if n == 2:
		print(a,"--->",b)
		print(a,"--->",c)
		print(b,"--->",c)
		return None
	hanno(n-1,a,c,b)
	print(a,"--->",c)

	hanno(n-1,b,a,c)

a = "A"
b = "B"
c = "C"

n = 3

hanno(n,a,b,c)

 

关于列表函数

append函数

#append函数
a =[i for i in range(1,10)]
print(a)
#在列表的末尾,插入元素20
a.append(20)
print(a)

insert函数

#insert 在指定的位置插入
#inser(index,data) 在index前面插入数据
a.insert(3,666) 
#下标是3的元素是a[3] = 4 即在元素4前面插入新的元素666
print(a)


del删除 

#
#pop,从对位拿出一个元素,即把最后一个元素取出来
last_else = a.pop()
print(last_else)
print(a)

#remove在列表中删除指定值的元素

print(id(a))

#a.romove(3)#若删除的元素没有在列表里面,则会报错
print(a)
print(id(a))

#clear清空,在原列表基础上直接给清空

#reverse 翻转
#  [1,2,3] --->  [3,2,1]

#extend 扩展列表,把一个列表拼接到一个列表最后一个元素后

#count 返回列表的长度

#copy 拷贝

a = [1,2,3,4,5,666]
print(a)

b = a
b[3] = 77
print(a)
print(b)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值