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。不是吗?谢谢你,先生,你救了我。