首页 > 编程语言 >【python练习】排列

【python练习】排列

时间:2023-06-07 14:06:34浏览次数:37  
标签:排列 python 练习 dfs range used print path


题目

给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。

现在,请你按照字典序将所有的排列方法输出。

输入格式
共一行,包含一个整数 n。

输出格式
按字典序输出所有排列方案,每个方案占一行。

代码

n=int(input())
path=[0 for i in range(n)]
used=[False for i in range(n)]

def dfs(u):
    if u==n:
        for i in range(n):
            print(path[i]+1, end=' ')
        print()
    else:
        for i in range(n):
            if not used[i]:
                path[u]=i
                used[i]=True
                dfs(u+1)
                used[i]=False
                path[u]=0
                
dfs(0)


标签:排列,python,练习,dfs,range,used,print,path
From: https://blog.51cto.com/u_15567308/6431257

相关文章

  • Python pandas库操作 excel
    Pythonpandas库操作excel特别提示:pandas库是基于numpy库的软件库,因此安装Pandas之前需要先安装numpy库。默认的pandas不能直接读写excel文件,需要安装读、写库即xlrd、xlwt才可以实现xls后缀的excel文件的读写,要想正常读写xlsx后缀的excel文件,还需要安装openpyxl库。数据......
  • 实验六 turtle绘图与python库应用编程体验
    '''task1_1.py'''fromturtleimport*defmove(x,y):penup()goto(x,y)pendown()defdraw(n,size=100):foriinrange(n):fd(size)left(360/n)defmain():pensize(2)pencolor('red&#......
  • 【Python自学】环境搭建
    一、pycharm安装二、python安装打开http://www.python.org(这个是python官网)下载配置环境。点击上方downloads下载对应版本安装后通过【win+r】调出【运行】弹窗,输入“cmd”之后打开【命令提示符】,输入python只要出现“>>>”证明你安装成功了。当你看到“>>>”的时候......
  • 【2023微博评论爬虫】用python爬上千条微博评论,突破15页限制!
    您好,我是@马哥python说,一枚10年程序猿。一、爬取目标前些天我分享过一篇微博的爬虫:马哥python说:【python爬虫案例】爬取微博任意搜索关键词的结果,以“唐山打人”为例但我的学习群中的小伙伴频繁讨论微博评论的爬取,所以,我们再分享这篇微博评论的爬虫。注意区分这两个爬虫:上次......
  • python反射、装饰和生成器
    1.反射反射允许使用变量的值(而不是变量的名)对成员进行访问反射的功能:设置属性读取属性删除属性判断属性classA:class_name="A"age=18defshow_me(self):print(class_name)attr_name="test_case_name"setattr(A,attr_name,"sex")#设置属......
  • Python-PyQt5安装与简单使用
    一、安装1、安装PyQt5和PyQt5-toolspipinstallPyQt5-ihttps://pypi.douban.com/simplepipinstallPyQt5-tools-ihttps://pypi.douban.com/simple 安装结果查看 2、配置环境变量在系统变量Path中添加pyqt5-tools目录的绝对路径 3、安装qtdesigner......
  • Python如何使用函数进行字符串大小写转换?
    在Python语言中,为了方便开发者对字符串中的字母进行大小写转换,为大家提供了3种函数,它们分别是title()、lower()和upper(),那么该如何使用这些函数呢?以下是详细的内容:1、title()方法title()方法用于将字符串中每个单词的首字母转为大写,其他字母全部转为小写,转换完成......
  • python3 获取上个月、前几月、当前月的时间
    #!/usr/bin/envpython#-*-coding:utf-8-*-importcalendarfromdatetimeimportdatetimefromdateutil.relativedeltaimportrelativedelta#获取当前月defget_cur_month():returndatetime.now().strftime("%Y-%m")#获取前几个月defget_last_month(......
  • python超类
    1.超类什么是超类:super方法调用的一系列类什么时候用到超类?如果子类需要复用父类的代码(属性,方法)时,需要通过超类实现classA:class_name="A"#类的属性def__init__(self,name,age):self.name=name#实例属性self.age=age#实例属性defsh......
  • python面向对象
    1.类1.1引入类面向对象:所谓面向对象,就是在编程的时候尽可能的去模拟真实的现实世界,按照现实世界中的逻辑去处理问题,分析问题中参与其中的有哪些实体,这些实体应该有什么属性和方法。我们如何通过调用这些实体中的属性和方法去解决问题类:用来描述具有相同的属性和方法的对象的集......