-
Notifications
You must be signed in to change notification settings - Fork 2
Challenge Golf Code
🚩 Remember to use Read-Search-Ask
if you get stuck. Try to pair program 👥 and write your own code 📝
In the game of golf each hole has a par meaning the average number of strokes a golfer is expected to make in order to sink the ball in a hole to complete the play. Depending on how far above or below par your strokes are, there is a different nickname.
Your function will be passed par and strokes arguments. You've to return the correct string according to this table which lists the strokes in order of priority; top (highest) to bottom (lowest):
Strokes | Return |
---|---|
1 | "Hole-in-one!" |
<= par - 2 | "Eagle" |
par - 1 | "Birdie" |
par | "Par" |
par + 1 | "Bogey" |
par + 2 | "Double Bogey" |
= par + 3 | "Go Home!"
par and strokes will always be numeric and positive.
- Change the code below
// Only change code below this line
and above// Only change code above this line
. - Ensure that you're editing the inside of the
golfScore
function. - You will have to make the function return exactly the same string as shown shown in the table, depending on the value of the parameters par and strokes that are passed to your function.
- Golf
- Challenge: Chaining If Else Statements
- Challenge: Comparison with the Greater Than Equal To Operator
- Challenge: Comparison with the Less Than Equal To Operator
+number -number
can be used to increase or decrease a parameter in your condition.
try to solve the problem now
You use if / else if
chains to return different values in different scenarios.
try to solve the problem now
Control the flow of your function based on the tables order of priority - top (highest) to bottom (lowest) to return matching string values.
try to solve the problem now
Solution ahead!
function golfScore(par, strokes) {
// Only change code below this line
if (strokes == 1){
return "Hole-in-one!";
} else if (strokes <= par -2){
return "Eagle";
} else if (strokes == par -1) {
return "Birdie";
} else if (strokes == par) {
return "Par";
} else if (strokes == par +1) {
return "Bogey";
} else if (strokes == par +2) {
return "Double Bogey";
} else {
return "Go Home!";
}
// Only change code above this line
}
// Change these values to test
golfScore(5, 4);
- Compare the parameters par and strokes to return appropriate string values.
-
if / else if
chain is used for flow control. - String "Go Home!" is returned for every condition where strokes is greater than or equal to par + 3.
If you found this page useful, you may say thanks to the contributors by copying and pasting the following line in the main chat:
Thanks @osterbergmarcus for your help with Checkpoint: Golf Code
⚠️ DO NOT add solutions that are similar to any existing solutions. If you think it is similar but better, then try to merge (or replace) the existing similar solution.- Add an explanation of your solution.
- Categorize the solution in one of the following categories — Basic, Intermediate and Advanced. 🚥
- Please add your username only if you have added any relevant main contents. (:warning: DO NOT remove any existing usernames)
See 👉
Wiki Challenge Solution Template
for reference.
Learn to code and help nonprofits. Join our open source community in 15 seconds at http://freecodecamp.com
Follow our Medium blog
Follow Quincy on Quora
Follow us on Twitter
Like us on Facebook
And be sure to click the "Star" button in the upper right of this page.
New to Free Code Camp?
JS Concepts
JS Language Reference
- arguments
- Array.prototype.filter
- Array.prototype.indexOf
- Array.prototype.map
- Array.prototype.pop
- Array.prototype.push
- Array.prototype.shift
- Array.prototype.slice
- Array.prototype.some
- Array.prototype.toString
- Boolean
- for loop
- for..in loop
- for..of loop
- String.prototype.split
- String.prototype.toLowerCase
- String.prototype.toUpperCase
- undefined
Other Links