dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
1.9 KiB
1.9 KiB
id, title, challengeType, dashedName
| id | title | challengeType | dashedName |
|---|---|---|---|
| 68f6587287ad1f4ad39b0c7e | Challenge 92: Extension Extractor | 29 | challenge-92 |
--description--
Given a string representing a filename, return the extension of the file.
- The extension is the part of the filename that comes after the last period (
.). - If the filename does not contain a period or ends with a period, return
"none". - The extension should be returned as-is, preserving case.
--hints--
get_extension("document.txt") should return "txt".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_extension("document.txt"), "txt")`)
}})
get_extension("README") should return "none".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_extension("README"), "none")`)
}})
get_extension("image.PNG") should return "PNG".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_extension("image.PNG"), "PNG")`)
}})
get_extension(".gitignore") should return "gitignore".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_extension(".gitignore"), "gitignore")`)
}})
get_extension("archive.tar.gz") should return "gz".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_extension("archive.tar.gz"), "gz")`)
}})
get_extension("final.draft.") should return "none".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_extension("final.draft."), "none")`)
}})
--seed--
--seed-contents--
def get_extension(filename):
return filename
--solutions--
def get_extension(filename):
last_dot = filename.rfind('.')
if last_dot == -1 or last_dot == len(filename) - 1:
return "none"
return filename[last_dot + 1:]