【PTA】【浙大版《Python 程序设计》题目集】7-8 *6-7 输出全排列 (20 分)
2020-02-12 12:25
786 查看
请编写程序输出前n个正整数的全排列(3<=n<=7),按字典序输出。
输入格式:
一行输入正整数n。
输出格式:
按字典序输出1到n的全排列。每种排列占一行,数字间无空格。
输入样例:
在这里给出一组输入。例如:
3
输出样例:
在这里给出相应的输出。例如:
123
132
213
231
312
321
#先构造一个从1到n的字符串 n = int(input()) s = '' for i in range(1,n+1): s += str(i) #定义函数 def f(s): res = [] len_s = len(s) if len_s == 1: return s #递归函数边界条件:只有一个字符时 else: #如果多余1个,则递归 for i in range(len_s): ch = s[i] #从s中取出每一个字母 rest = s[:i] + s[i+1:] for cc in f(rest): #剩下的字符串放进全排列函数 res.append(ch + cc) return res for st in f(s): print(st)
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- PTA】【浙大版《Python 程序设计》题目集】第6章函数-5 使用函数求余弦函数的近似值 (20 分)
- PTA-输出全排列 (20 分)
- 浙大版《C语言程序设计(第3版)》题目集 习题11-5 指定位置输出字符串 (20 分)
- 浙大版《C语言程序设计(第3版)》题目集 习题11-5 指定位置输出字符串 (20 分)
- 【Python】L1-032 Left-pad-PTA团体程序设计天梯赛
- 【Python】L1-056 猜数字-PTA团体程序设计天梯赛
- PTA基础编程题目集6-7 统计某类完全平方数 (20 分)
- PTA-python-逆序输出
- ACM程序设计书中题目--Y(输入字符串输出每个数字连续出现的个数及数字)
- PTA python-输入输出-格式化输出字符串
- PTA 1006-换个格式输出整数 c和python编写
- [Python] L1-059 敲笨钟-PTA团体程序设计天梯赛
- 题目:初识python,第一个python程序,交互式环境下的输出以及文本编辑器介绍
- Python程序设计与算法基础教程第五章上机题目
- python题目要求:输出如下图片中的图形
- 数据结构之栈----PTA题目7-20表达式转换(中缀转后缀)
- ACM程序设计 书中题目H(20进制的加法)
- PTA习题8-10 输出学生成绩(20 分)
- Python程序设计与算法基础第二章上机题目
- PTA 输出全排列 (20分)C++解法