Python3学习笔记

简介: Python3学习笔记

生成直观的九连环解法:

#!/usr/bin/python

x =["-θ","-θ","-θ","-θ","-θ","-θ","-θ","-θ","-θ"]

y =["—","—","—","—","—","—","—","—","—"]

def down(n, l):#拆解

   v = len(l)#计算数列个数用于改变数列对应位置

   if n>2:

       down(n-2, l)#拆下n-2的环

       l[v-n]="—"#将v-n位"-θ"改为"—" 表示拆下

       for x in l:  #输出列表每一个元素

           print(x,end=' ')

       print()#换行

       up(n-2, l)#装上n-2位

       down(n-1, l)#拆下n-1位,后面同理

   if n==2:

       l[v-2], l[v-1]="—","—"

       for x in l:

           print(x,end=' ')

       print()

   if n<2:

       l[v-1]="—"

       for x in l:

           print(x,end=' ')

       print()

def up(n, l):

   v = len(l)

   if n>2:

       up(n-1, l)

       down(n-2, l)

       l[v-n]="-θ"

       for x in l:

           print(x,end=' ')

       print()

       up(n-2, l)

   if n==2:

       l[v-2], l[v-1]="-θ","-θ"

       for x in l:

           print(x,end=' ')

       print()

   if n<2:

       l[v-1]="-θ"

       for x in l:

           print(x,end=' ')

       print()


print("拆解\n")

for i in x:

   print(i,end=' ')

print()

down(9, x)

print('---------------------------------\n','装上\n')

for i in y:

   print(i,end=' ')

print()

up(9, y)

print("结束")

九连环拆解,递归算法

def down(n):

   if n>2:

       down(n-2)

       print('卸下',n,'环')

       up(n-2)

       down(n-1)

   if n==2:

       print('卸下 {},{} 环'.format(n,n-1))    

   if n<2:

       print('卸下',n,'环') 

       

def up(n):

   if n>2:

       up(n-1)

       down(n-2)

       print("装上",n,"环")

       up(n-2)

   if n==2:

       print("装上 %d,%d 环"%(n,n-1))

       

   if n<2:

       print("装上",n,"环")

print("拆解")

down(2)

print('---------------------------------\n','装上')

up(3)

print("结束")

相关文章
|
3月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
671 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
3月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
198 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
3月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
222 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
3月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
83 1
|
3月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
172 1
|
3月前
|
索引 Python
Python学习笔记编程小哥令狐~持续更新、、、(上)
Python学习笔记编程小哥令狐~持续更新、、、(上)
56 2
|
3月前
|
存储 Python
Python学习笔记编程小哥令狐~持续更新、、、 (下)
Python学习笔记编程小哥令狐~持续更新、、、 (下)
43 1
|
3月前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
52 0
【免费分享编程笔记】Python学习笔记(二)
|
3月前
|
Java 编译器 Go
Python学习笔记--- day01计算机基础和环境搭建(一)
Python学习笔记--- day01计算机基础和环境搭建(一)
57 2
|
3月前
|
程序员 编译器 Python
Python学习笔记--- day01计算机基础和环境搭建(二)
Python学习笔记--- day01计算机基础和环境搭建(二)
59 1