本题要求编写程序,根据公式  算出从n个不同元素中取出m个元素(m≤n)的组合数。

输入格式:

输入在一行中给出两个正整数m和n,以空格分隔。

  • 如果输入数据负数,能输出提示不能负数
  • 如果输入数据出发非法数据,能输出提示请输入数值 (数值异常处理)

输出格式:

按照格式result = 组合数计算结果输出。

输入样例:

2 7

输出样例:

result=21.00

话不多说,先贴代码。

def judge(m):sum = 1for i in range(1, m+1):sum *= ireturn sumdef cal(n, m):now_n = judge(n)now_m = judge(m)now_n_m = judge(n-m)return now_n/(now_m*now_n_m)m, n = list(input().split())
flag = True
flag2 = True
try:m, n = int(m), int(n)
except:print("请输入数值")flag = False
if flag:if m > 0 and n > 0:print("result={:.2f}".format(cal(n,m)))else:print("不能负数")

题确实有点基础,但是也不妨碍我练习python函数的使用,我先说一下我的解题思路,先是解决输入的问题,用刚刚学习的异常抛出来解决,其实里面的flag2是没用的。。后面加一个判断就行了,先看看能不能将输入的两个数转换为int,如果不能提示输入数值,在后面判断是不是输入了负数,然后计算排列组合很简单,两个函数,一个阶乘函数judge,然后一个计算的函数cal,然后用format格式化输出即可。

pta 7-2 jmu-python-组合数 (20 分) python函数练习相关推荐

  1. 【字符串】PTA试题——敲笨钟(20分)

    PTA试题--敲笨钟(20分) 微博上有个自称"大笨钟V"的家伙,每天敲钟催促码农们爱惜身体早点睡觉.为了增加敲钟的趣味性,还会糟改几句古诗词.其糟改的方法为:去网上搜寻压&quo ...

  2. 1014 福尔摩斯的约会 (20 分) Python和C++版本

    1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...

  3. C++学习之路 | PTA乙级—— 1093 字符串A+B (20 分)(精简)

    1093 字符串A+B (20 分) 给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集.要求先输出 A,再输出 B,但重复的字符必须被剔除. 输入格式: 输入在两行中分别给出 A ...

  4. C++学习之路 | PTA乙级——1092 最好吃的月饼 (20 分)(精简)

    1092 最好吃的月饼 (20 分). 月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种. 若想评比出一种"最好吃"的月饼,那势必在吃货界引发一场腥风血雨-- 在这 ...

  5. C++学习之路 | PTA乙级—— 1074 宇宙无敌加法器 (20 分)(精简)

    1074 宇宙无敌加法器 (20 分) 地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为"PA ...

  6. C++学习之路 | PTA乙级—— 1059 C语言竞赛 (20 分)(精简)

    1059 C语言竞赛 (20 分) C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0.冠军将赢得一份"神秘大奖"(比如很 ...

  7. C++学习之路 | PTA乙级—— 1052 卖个萌 (20 分)(精简)

    1052 卖个萌 (20 分) 萌萌哒表情符号通常由"手"."眼"."口"三个主要部分组成.简单起见,我们假设一个表情符号是按下列格式输出的 ...

  8. C++学习之路 | PTA乙级—— 1024 科学计数法 (20 分)(精简)

    1024 科学计数法 (20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数 ...

  9. C++学习之路 | PTA乙级—— 1033 旧键盘打字 (20 分)(精简)

    1033 旧键盘打字 (20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行 ...

  10. C++学习之路 | PTA乙级—— 1032 挖掘机技术哪家强 (20 分)(精简)

    1032 挖掘机技术哪家强 (20 分) 为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过 1 ...

最新文章

  1. 在Ubuntu上编译opencv 2.4.13源码支持android平台操作步骤
  2. https协议必须使用443端口吗_http、https、http2、websocket之间的关系
  3. 数据库优化实例以及优化的小技巧
  4. css实现圆形钟表,js+css3圆形指针时钟代码
  5. OpenKruise:解放 DaemonSet 运维之路
  6. ITK:跳过特定区域时在图像上迭代
  7. 出路在哪里?出路在于思路!智者无敌
  8. android中如何通过代码检测是否有root权限?
  9. android日历长按拖拽,CalendarView
  10. python如何设计工具类_Python面向对象 --- 类的设计和常见的内置方法
  11. Windows驱动开发TraceView之日志打印
  12. ActiveX控件原理及手动修改
  13. 向量叉乘在永磁同步电机电磁转矩计算中的应用
  14. lighttpd 配置php,Lighttpd常用配置方法
  15. androrid按键事件
  16. 记录对接京东宙斯API -- 同步订单信息到自身系统
  17. Java 知识点总结笔记(篇1)
  18. 初中学考英语听说计算机考试,2018中考英语听说计算机考试工作重要通知
  19. windows10/11_远程桌面连接mstsc(局域网)/CLI获取当前主机名/用户名/修改windows主机名
  20. r软件 linux,分享|Linux 上好用的 R 语言 IDE

热门文章

  1. CH330显示未知USB设备(设备描述符请求失败)
  2. matlab程序中ode45,关于matlab中ode45的问题
  3. vue中缓存当前路由的实现
  4. introduce page
  5. zigbee抓包实验过程
  6. 【POJ 1187】 陨石的秘密(dp)
  7. 《Temporal AA , SMAA and MSAA》
  8. Oracle数据库:排序order by语句,select from where order by的执行先后顺序,各种样例
  9. matlab生成gif动图
  10. [图片校准(矫正)]——透射变换应用