首页 > 其他分享 >3.25

3.25

时间:2024-06-19 17:45:28浏览次数:15  
标签:letters 字母 空格 3.25 print input 输入

时长:一个小时

代码量:

8-1 【Python0002】排列组合序列 分数 10 作者 doublebest 单位 石家庄铁道大学

【题目描述】用户输入整数n(1<=n<=26)和整数m(m<=n),然后输入n个不同的字母,请编写程序输出在这n个字母中选择m个字母的所有排列序列和组合序列。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
【输入格式】在第一行中输入整数n和整数m的值,数据之间以空格为间隔。
在第二行中输入n个不同字母,数据之间以空格为间隔
【输出格式】首先输出所有的排列数列,每种情况一行,字母间以空格为间隔;
再者首先输出所有的组合数列,每种情况一行,在同一行中以字母增序顺序显示,字母间以空格为间隔。
【输入样例】3 2
a s d
【输出样例】Permutation:
a d
d a
a s
s a
d s
s d
Combination:
a d
a s
d s

 

代码:

from itertools import permutations, combinations

def get_input():
# 获取用户输入
n = int(input("请输入整数n(1<=n<=26):"))
m = int(input("请输入整数m(m<=n):"))

# 检查输入的有效性
if n < 1 or n > 26 or m > n:
print("输入不合法,请确保1<=n<=26且m<=n。")
return None, None

# 输入n个不同的字母
print(f"请输入{n}个不同的字母,用空格分隔:")
letters = input().split()

# 检查字母数量和唯一性
if len(letters) != n or len(set(letters)) != n:
print("输入的字母数量不正确或有重复,请重新输入。")
return None, None

return n, m, letters

def display_sequences(n, m, letters):
# 生成并打印所有排列
print("\n所有排列序列:")
for p in permutations(letters, m):
print(''.join(p))

# 生成并打印所有组合
print("\n所有组合序列:")
for c in combinations(letters, m):
print(''.join(c))

if __name__ == "__main__":
n, m, letters = get_input()
if n and m and letters:
display_sequences(n, m, letters)

标签:letters,字母,空格,3.25,print,input,输入
From: https://www.cnblogs.com/szm123/p/18256816

相关文章

  • 走走停停迅雷BT下载[DB-1280P/3.25GBMKV中字]4k高清百度云资源分享
    电影《走走停停》:探寻人生的迷茫与自我救赎电影《走走停停》是一部由李安执导,由乔·阿尔文主演的心灵探索之旅。这部电影以一个中年男子的迷失和自我救赎为线索,通过对人生中的停顿和挫折的描绘,引发观众对生活意义的思考。故事的主线由两个不同的时间线交......
  • 扫黑·决不放弃迅雷BT完整下载资源[HD-1280P/3.25GBMKV中字]4k资源分享
    电影《扫黑·决不放弃》是一部以真实事件为背景的警匪题材电影,以纪实的手法讲述了一群警察与黑恶势力的博弈和抗争。该电影在上映后引发了广泛的关注和讨论,不仅展现了中国公安机关对黑恶势力的坚决打击态度,更让观众深刻认识到了黑恶势力对社会的危害以及警察们为维护社会安定......
  • 3.25
    今天web实验实现了一个个人介绍的页面,要求存在html、css、javascript代码   点击切换就会发现自己的获奖情况......
  • 2024.3.25(周一)总结
    完成python作业6-1使用函数输出指定范围内Fibonacci数的个数本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,fib(0......
  • 3.25-3.31
    天梯赛2:7-12这是二叉搜索树吗?在满足题意的前提下从前后分别往中间走模拟二叉树的建立即可。///l、//(゚、。7//l、~ヽ//じしf_,)ノ//不要放弃!猫猫会为你加油!#include<bits/stdc++.h>#defineendl'\n'#defineintlonglongusingnamespacestd;constint......
  • SMU Winter 2024 div2 ptlks的周报Week 7(3.25-3.31)
    哈夫曼编码对出现频率大的字符赋予较短的编码,对出现频率小的字符赋予较长的编码。哈夫曼树的建树过程为,每次选取最小和次小的根节点,将它们之和作为它们的根节点,左子节点为小点,右子节点为次小点,直至仅剩一棵树。一棵哈夫曼树,左子树为0,右子树为1,以根节点到叶子结点的路径作为每个叶......
  • 3.25-3.31周报
    天梯赛27-10红色警报这道题的题意要注意是删去一个城市后增加了多少个区域,而不是有多少个城市变成了单独的点,赛时理解错了题意,用set做会有点有问题。其实很简单,就是bfs搜一下有多少个联通块,每次删除把被删的点打个标记,每次联通块的个数和上一次的比较一下,只要增加就是改变了连......
  • 3.25~3.28
    另:?咋写这玩意的时候突然耳鸣了几秒我不会要趋势了吧(我发现和5k聊题总会出点问题倒不是说听不懂他的思路而是出在一些奇奇怪怪的地方......
  • 就业班 第二阶段 2401--3.25 day5 mycat读写分离
    @[TOC] 启动并更改临时密码[root@mysql1~]#systemctlstartmysqld&&passwd=`greppassword/var/log/mysqld.log|awk'END{print$NF}'`&&mysqladmin-p"$passwd"password'Qwer123..';MyCAT读写分离Mycat是一个开源的数据库系统,但是由......
  • 2024.03.25【补】【版面编排】排版四大原则!!
    排版最重要也是最基础的四大原则:1.对齐:我们的大脑总是会去寻找一条看不见的横线或者竖线,利用网格系统,将元素适当对齐就能创作出舒适好看的版面把杂乱的内容根据线条对齐,混乱感也会随之消失,取而代之的是秩序感和舒适感,这样还能创造出让读者舒适的视觉动线2.对比:当所有的信息......