题目:[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:
样例2:
样例3: