Python 从其他数字的最小数字创建一个数字

Python 从其他数字的最小数字创建一个数字,python,digits,Python,Digits,我正在寻找一种方法来创建一个由其他数字的最小数字组成的数字。它以一个输入开始,该输入指示将有多少个数字。之后,程序需要从这些数字中获取输入并找到最小的数字。最后,它应该创建一个新的数字,由所有最小的数字一个接一个组成。我知道如何找到最小的数字,但不知道下一步该怎么做 例如: 4 #first number #4 numbers since the first input equals 4 (each one in its own line) 123456 345345 2423262 6442

我正在寻找一种方法来创建一个由其他数字的最小数字组成的数字。它以一个输入开始,该输入指示将有多少个数字。之后,程序需要从这些数字中获取输入并找到最小的数字。最后,它应该创建一个新的数字,由所有最小的数字一个接一个组成。我知道如何找到最小的数字,但不知道下一步该怎么做

例如:

4 #first number

#4 numbers since the first input equals 4 (each one in its own line)
123456
345345
2423262
644243

1323 #number made from the smallest digits of the 4 numbers above
num=int(输入())
最小值=数值%10
当num>0时:
提醒=num%10
如果>提醒:
最小=提醒
num=int(num/10)
打印(“最小的数字是”,最小的)

如果我正确理解了这个问题,我相信这就是你想要的:

def smallest_digit(num):
    smallest = num % 10
    while num > 0:
        reminder = num % 10
        if smallest > reminder:
            smallest = reminder
        num = int(num / 10)
    return smallest

small_num = ""
number_of_inputs = int(input("Number of inputs: "))

for i in range(number_of_inputs):
    small_num += str(smallest_digit(int(input())))

首先,询问用户希望输入的数字数量

然后,for循环将要求用户输入一个用户想要的正确次数的输入号码

此输入直接传递给函数minimen_digit(这是使用上面的代码查找给定数字中的最小数字)

该函数返回最小的数字,然后将其添加到名为small_num的字符串中。

不就是这个吗(下面)?我忽略了num不能为0的限制。我不明白这样做的目的

num=int(input())
listOfSmallestDigits = []
i = 0
while i < num:
     smallest=num%10
     remainder = num % 10
     if smallest > reminder:
        smallest = reminder
     print("The Smallest Digit is ", smallest)
     listOfSmallestDigits.append(smallest)

# Create a String Variable to Collect All the New Smallest Digits in a String
newDigit = ""
for digit in listOfSmallestDigits:
  newDigit = newDigit + digit

print("The final number is: {}".format(newDigit)) 


您可以在不将数字转换为整数的情况下执行此操作

打印每行小数字中的最小数字

n = int(input())
y = [min(input()) for _ in range(n)] 
y.sort()
print (''.join(y))
输入:

4
123456
345345
2423262
644243
4
123456
345345
2423262
644243
输出将是:

1223
这将为您提供找到的最小数字中的最小数字

如果只想按相同的顺序打印数字,可以排除y.sort()行

输入:

4
123456
345345
2423262
644243
4
123456
345345
2423262
644243
输出:

1322

请展示您迄今为止所做的尝试,并解释您遇到的困难。min('423')是'2'。您可以在不将字符串转换为整数的情况下求解它。最小的数字不应该是1233,因为1323大于1233,而应该是1223(第1行为1,第3行为2,第4行为2,第2行为3)。如果我们按原样使用进入顺序,那么将是1322。不是吗?谢谢你,先生,你救了我。