mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 18:26:54 +00:00
2.6 KiB
2.6 KiB
id, title, challengeType, dashedName
| id | title | challengeType | dashedName |
|---|---|---|---|
| 69a890af247de743333bd4cd | Challenge 224: Coffee Roast Detector | 29 | challenge-224 |
--description--
Given a string representing the beans used to make a cup of coffee, determine the roast of the cup.
-
The given string will contain the following characters, each representing a type of bean:
- An apostrophe (
') is a light roast bean worth 1 point each. - A dash (
-) is a medium roast bean worth 2 points each. - A period (
.) is a dark roast bean worth 3 points each.
- An apostrophe (
-
The roast level is determined by the average of all the beans.
Return:
"Light"if the average is less than 1.75."Medium"if the average is 1.75 to 2.5."Dark"if the average is greater than 2.5.
--hints--
detect_roast("''-''''''-'-''--''''") should return "Light".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(detect_roast("''-''''''-'-''--''''"), "Light")`)
}})
detect_roast(".'-''-''..'''.-.-''-") should return "Medium".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(detect_roast(".'-''-''..'''.-.-''-"), "Medium")`)
}})
detect_roast("--.''--'-''.--..-.--") should return "Medium".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(detect_roast("--.''--'-''.--..-.--"), "Medium")`)
}})
detect_roast("-...'-......-..-...-") should return "Dark".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(detect_roast("-...'-......-..-...-"), "Dark")`)
}})
detect_roast(".--.-..-......----.'") should return "Medium".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(detect_roast(".--.-..-......----.'"), "Medium")`)
}})
detect_roast("..-..-..-..-....-.-.") should return "Dark".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(detect_roast("..-..-..-..-....-.-."), "Dark")`)
}})
detect_roast("-'-''''''..-'.''-'.'") should return "Light".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(detect_roast("-'-''''''..-'.''-'.'"), "Light")`)
}})
--seed--
--seed-contents--
def detect_roast(beans):
return beans
--solutions--
def detect_roast(beans):
total = 0
for bean in beans:
if bean == "'":
total += 1
elif bean == "-":
total += 2
elif bean == ".":
total += 3
avg = total / len(beans)
if avg < 1.75:
return "Light"
elif avg <= 2.5:
return "Medium"
else:
return "Dark"