天天看點

不重複的三位數python_Python趣味案例之不重複的三位數

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種組合方法