簡體   English   中英

找出最大的數字

[英]Find the biggest digit in number

所以,我必須輸入一個數字並找到該數字中最大的數字,所以如果數字是 2314 我想得到 4,我的代碼到目前為止:

a = input()

for x in a:
    i = int(x)

轉換為string ,然后獲取max

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

如果您的輸入是一個數字,您需要先將輸入轉換為字符串,然后將每個字符轉換回整數並取最大值。 您可以使用生成器表達式輕松地使用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

由於這是作業,這里有另一個簡單的答案。 由於您是初學者,因此沒有使用max()

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

首先將輸入轉換為列表,然后對其進行排序。 最后一個數字是最大值。 [-1]是列表的最后一個索引。

python2reduce也可能有效。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM