尋找輸入數字中的全數字(pandigital) python程式設計
阿新 • • 發佈:2018-12-13
題目內容:
如果一個n位數剛好包含了1至n中所有數字各一次則稱它們是全數字(pandigital)的,例如四位數1324就是1至4全數字的。從鍵盤上輸入一組整數,輸出其中的全數字,若找不到則輸出“not found”。形如:
- def pandigital(nums):
- ......
- return lst
- if __name__ == "__main__":
- lst = pandigital(eval(input()))
- 呼叫函式根據結果輸出
輸入格式:
多個數字串,中間用一個逗號隔開
輸出格式:
滿足條件的數字串,分行輸出
輸入樣例:
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()))