找到最大的数字

时间:2016-03-21 22:08:02

标签: python

所以,我必须输入一个数字并找到该数字中的最大数字,所以如果数字是2314我想得到4,我的代码到目前为止:

FindlargestInteger

4 个答案:

答案 0 :(得分:0)

转换为string,然后获取max

a = 2314
max(str(a))
# output 4

答案 1 :(得分:0)

如果您的输入是数字,则需要先将输入转换为字符串,然后将每个字符转换回整数并取最大值。您可以使用generator expression轻松使用int将所有字​​符转换为整数,然后应用max

maximum = max(int(x) for x in str(a))

为了举个例子:

maximum = max(int(x) for x in str(415023))  # 5

另一方面,如果您的输入是一个字符串,那么只需跳过转换为字符串。

maximum = max(int(x) for x in a)

更强大的解决方案

所有这些示例均假设您的号码中没有小数点或负号。如果你这样做,你可以明确地忽略它们。

maximum = max(int(x) for x in str(a) if x not in '.-')

举个例子:

a = -15.93
maximum = max(int(x) for x in str(a) if x not in '.-')  # 9

答案 2 :(得分:0)

由于这是一个家庭作业,这是另一个简单的答案。由于您是初学者,因此未使用max()

a = input("number: ")
print (sorted(list(a))[-1])

首先将输入转换为列表,然后对其进行排序。最后一个数字是最大值。 [-1]是列表的最后一个索引。

答案 3 :(得分:0)

reduce中的python2也可能有用。

maximum = reduce(lambda acc, n: acc if acc > int(n) else int(n), "123131891", 0)