Skip to content

Commit

Permalink
Added both of my challenges
Browse files Browse the repository at this point in the history
  • Loading branch information
ajfumero8 authored Jan 12, 2025
1 parent 453223f commit 3431cee
Show file tree
Hide file tree
Showing 6 changed files with 175 additions and 0 deletions.
37 changes: 37 additions & 0 deletions solutions/triangle_challenge/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Challenge: Triangular Sequence Formula

## Description

Write a function that defines the triangular number sequence
with a formula
and input ability in order to insert several different
integer inputs

The triangle sequence goes as follows:

```python
1, 3, 6, 10, 15
```

It is a formula of ***n(n+1)/2*** where ***n***
is any given number in the sequence (easier read as {1+2+3+4...})
If you wanted to check for the 5th number of the sequence,
It would look like 5(5+1)/2 = 15
*Ex. Code*

```python
triangle(1) ➞ 1

triangle(6) ➞ 21

triangle(215) ➞ 23220
```

### Testing

- Use assertion tests to check for integer inputs to
ensure the right output is given

### Helpful links

- [Triangular Number Sequence Formula](https://www.mathsisfun.com/algebra/triangular-numbers.html)
Empty file.
41 changes: 41 additions & 0 deletions solutions/triangle_challenge/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
"""
Module for the Triangular number sequence and a code that can calculate it.
Contents:
- A formula that establishes the triangular number sequence n(n+1)/2
- Code for the formula to be able to take input
Created on 2025-01-03
Author: Adolfo Fumero
"""


def triangle_side(n):
"""
Calculate the nth triangular number.
Uses a formula of n(n+1)/2 to calculate the number of sides of the triangle in the sequence
Parameters:
n (int): The position in the triangular number sequence.
Returns:
int: The nth triangular number.
Raises:
If any value below 0 is input, it will throw an Error message
If any non-integer value is input also, same output will occur
"""
if n < 1:
return "Input must be a positive integer."
return n * (n + 1) // 2


# Example usage
try:
user_input = int(
input("Enter an integer value for the triangular number sequence: ")
)
result = triangle_side(user_input)
print(f"The {user_input}th triangular number is: {result}")
except ValueError:
print("Please enter a valid integer.")
47 changes: 47 additions & 0 deletions solutions/voting_age/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# **Challenge: Voting Age Checker**

## Description

This code should be able to state and verify a voter's age
And compare it to a set voting age
In order to return a value containing the voter's name and
if they are old enough to vote

Code should also ask for Input for the specific voter's name
Be able to return a correct value based on name

This code should use *min_age* and a defined *can_vote* functions
in order to state and verify ages of all the listed voters

It should also set the ages of the voters with their:

1. Name
2. Age

### Ex. Code

```python
min_age = 18

participants = {
'alice': {'age': 18},
'bob': {'age': 40},
'charlotte': {'age': 17},
}


# Write a function that would allow
# A Boolean output corresponding to their age
# And if the person can vote

```

### Testing

- Use ```print``` unit tests that set age and compare back to the minimum age
- Use unit tests that check for precise spelling and comparisons

### Helpful Links

- [Python Functions](https://www.w3schools.com/python/python_functions.asp)
- [How to Define and Call back to a function](https://www.geeksforgeeks.org/how-to-define-and-call-a-function-in-python/)
Empty file.
50 changes: 50 additions & 0 deletions solutions/voting_age/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
"""
Module for the Voting age challenge.
Contents:
- Contextual code for names and a list to refer back to
- Code that can refer back to minimum age and name list and produce an output base on name selection
Created on 2025-01-03
Author: Adolfo Fumero
"""

MIN_AGE = 18 # this states the minimum age for voting

participants = {
"Jackson": {"age": 18},
"Bob": {"age": 40},
"Charlotte": {"age": 17},
"Marley": {"age": 28},
"Erica": {"age": 6},
}


def check_voting_age(person):
"""
General:
This function's goal is to check the age of the participants
and if they are equal
or above the minimum voting age based on input of name
It pulls name and age from the Participants list and provides a Boolean output
Parameters:
Name: Correct name from Participants list
Name list: Jackson , Bob, Charlotte, Marley, Erica
Raises:
If an invalid name is written, it will provide a "Participant not found." Output
Correct capitalization is required, otherwise "Participant not found" Error will be raised
"""
return person["age"] >= MIN_AGE


# Ask for the name input
name = input("Enter the participant's name (Jackson, Bob, Charlotte, Marley, Erica): ")

# Check if the name exists in the participants dictionary
if name in participants:
result = check_voting_age(participants[name])
print(f"Can {name} vote?: {result}")
else:
print("Participant not found.")

0 comments on commit 3431cee

Please sign in to comment.