curriculum/challenges/english/blocks/daily-coding-challenges-python/699c8e045ee7cb94ed2322db.md
Given a string of numbers separated by various punctuation, return the largest number.
","), exclamation points ("!"), question marks ("?"), colons (":"), or semi-colons (";").largest_number("1,2") should return 2.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(largest_number("1,2"), 2)`)
}})
largest_number("4;15:60,26?52!0") should return 60.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(largest_number("4;15:60,26?52!0"), 60)`)
}})
largest_number("-402,-1032!-569:-947;-633?-800!-1012;-402,-723?-8102!-3011") should return -402.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(largest_number("-402,-1032!-569:-947;-633?-800!-1012;-402,-723?-8102!-3011"), -402)`)
}})
largest_number("12;-50,99.9,49.1!-10.1?88?16") should return 99.9.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(largest_number("12;-50,99.9,49.1!-10.1?88?16"), 99.9)`)
}})
def largest_number(s):
return s
import re
def largest_number(s):
numbers = [float(n) for n in re.split(r'[,!?:;]', s)]
return max(numbers)