1. 程式人生 > >尋找輸入數字中的全數字(pandigital) python程式設計

尋找輸入數字中的全數字(pandigital) python程式設計

題目內容:

如果一個n位數剛好包含了1至n中所有數字各一次則稱它們是全數字(pandigital)的,例如四位數1324就是1至4全數字的。從鍵盤上輸入一組整數,輸出其中的全數字,若找不到則輸出“not found”。形如:

  1. def pandigital(nums): 
  2.       ......
  3.       return lst
  4. if __name__ == "__main__":
  5.       lst = pandigital(eval(input()))
  6.       呼叫函式根據結果輸出

輸入格式:

多個數字串,中間用一個逗號隔開

輸出格式:

滿足條件的數字串,分行輸出

輸入樣例:

1243,322,321,1212,2354

輸出樣例:

1243

321

時間限制:1800ms記憶體限制:32000kb

python實現:

def pandigital(nums):
    flag = False
    for num in nums:
        num = str(num)
        all_number_list = [str(i) for i in range(1, len(num) + 1)]
        all_number_in_num_list = [j for j in all_number_list if j in num]
        if len(all_number_list) == len(all_number_in_num_list):
            print(num)
            flag = True
    if flag == 0:
        print('not found')
if __name__ == "__main__":
    lst = pandigital(eval(input()))