标签:10 Python a1 三位数 range num b1 趣味 c1
Python趣味案例之不重复的三位数
一、问题描述
0~9组成一个三位数,并且这三位数中没有相等的数字,一共有多少种组合方法?
二、思路
利用0~9组成没有重复数字的三位数
百位组成 1~9
十位组成 0~9
个位组成 0~9
利用循环穷举百位、十位、个位的数字构成,只有三个数不相同的时候才生成不重复的数字
三、代码
方法一
def count(a = 10,b = 10,c = 10): num = 0 # 初始化组合方法 for a1 in range(1,a): # 百位构成1~10 for b1 in range(0,b): # 十位构成0~10 for c1 in range(0,c): # 个位构成0~10 if a1 != b1 and a1 != c1 and b1 != c1: # 当三个数不相等时,组合方法+1 num += 1 print(num) count() # 648 一共648种组合方法
方法二
def count1(a = 10,b = 10,c = 10): num = 0 for a1 in range(1,a): for b1 in range(0,b): if a1 == b1: # 如果a1 == b1,则跳过该次循环 continue for c1 in range(0,c): if a1 != c1 and b1 != c1: # a1 != c1 and b1 != c1时,组合方法+1 num += 1 print(num) count1() # 648 一共648种组合方法
标签:10,Python,a1,三位数,range,num,b1,趣味,c1 来源: https://blog.51cto.com/13760226/2467336
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。