python 组合成最小数的思路

题目:[Python,函数参数]组合成最小数
题目描述:
自定义函数min_num(*args)将传入的参数中的数字组成一个最小的数并返回,要求首位不允许是0。输入几个数,调用min_num()函数获得组合成的最小数并输出。
输入:
一组用逗号分隔的数字,数字都是个位数
输出:
组成的首位非0的最小数
输入样例:
1,3,0,5
输出样例:
1035

怎么设置这个呢

def min_num(*args):
    from itertools import permutations
    nums = [''.join(i) for i in permutations(args, len(args))]
    nums = [int(i) for i in nums if len(i)==len(str(int(i)))]
    return min(nums)

nums = input().split(',')
print(min_num(*nums))

输入样例:
1,3,0,5
输出样例:
1035
def run():
    str_num = input("输入一组以“,”分割的数字\n")
    print(str_num.split(','))
    int_num_list = list(map(lambda x: 0 if x == '0' else int(x), str_num.split(',')))  # 转int类型
    int_num_list.sort()
    if not int_num_list[0]:
        int_num_list[0], int_num_list[1] = int_num_list[1], int_num_list[0]
    str_num_list = map(lambda x: str(x), int_num_list)  # 转str类型
    return int(''.join(str_num_list))

样例1:

img

样例2:

img

样例3:

img