[英]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]
是列表的最后一個索引。
python2
的reduce
也可能有效。
maximum = reduce(lambda acc, n: acc if acc > int(n) else int(n), "123131891", 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.