Epython Lab
6.76K subscribers
633 photos
30 videos
103 files
1.16K links
Welcome to Epython Lab, where you can get resources to learn, one-on-one trainings on machine learning, business analytics, and Python, and solutions for business problems.

Buy ads: https://telega.io/c/epythonlab
Download Telegram
#PROJECTCHALLENGE #LOOP #DICTIONARY #LIST #FUNCTIONS

Scrabble

In this project, you will process some data from a group of friends playing scrabble. You will use dictionaries to organize players, words, and points.

There are many ways you can extend this project on your own if you finish and want to get more practice!

N.B: You should go through each task to complete this project.
Post your solution via
@PYTHONETHBOT
Don't post your solution in the group
Follow instructions accordingly

Tasks
letters = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]

points = [1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 4, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10]

1. I have provided you with two lists, letters and points. You would like to combine these two into a dictionary that would map a letter to its point value.

Using a list comprehension and zip, create a dictionary called
letter_to_points that has the elements of letters as the keys and the elements of points as the values.

2. Our letters list did not take into account blank tiles. Add an element to the
letter_to_points dictionary that has a key of " " and a point value of 0.

3. We want to create a function that will take in a word and return how many points that word is worth.
Define a function called
score_word that takes in a parameter word.

4. Inside score_word, create a variable called point_total and set it to 0.

5. After defining point_total, create a for loop that goes through the letters in word and adds the point value of each letter to point_total.

You should get the point value from the letter_to_points dictionary. If the letter you are checking for is not in letter_to_points, add 0 to the point_total.

6. After the for
loop is finished, return point_total.

7. Let’s test this function! Create a variable called asibeh_points and set it equal to the value returned by the score_word() function with an input of "ASIBEH".

8. We expect the word ASIBEH to earn 11 points:

(A + S + I + B + E + H)

Let’s print out asibeh_points to make sure we got it right.

9. Create a dictionary called
player_to_words that maps players to a list of the words they have played. This table represents the data to transcribe into your dictionary:
player1 wordNerd Lexi Con Prof Reader
BLUE EARTH ERASER ZAP
TENNIS EYES BELLY COMA
EXIT MACHINE HUSKY PERIOD

10. Create an empty dictionary called player_to_points.

11. Iterate through the items in
player_to_words. Call each player player and each list of words words.

Within your
loop, create a variable called player_points and set it to 0.

12. Within the loop, create another loop that goes through each word in words and adds the value of score_word() with word as an input.

13. After the inner
loop ends, set the current player value to be a key of player_to_points, with a value of player_points.

14. player_to_points should now contain the mapping of players to how many points they’ve scored. Print this out to see the current standings for this game!

If you’ve calculated correctly, wordNerd should be winning by 1 point.

====GOOD LUCK=====
#ChallengeAbsoluteDifference #Algorithm #DataStructure #Loop #Array

Consider an array of integers, arr[0], arr[1] ... arr[n-1]. We define the absolute difference between two elements, arr[i] and arr[j] (where i != j), to be the absolute value of arr[i] - arr[j]

Given an array of integers, find and print the minimum absolute difference between any two elements in the array. For example, given the array arr=[-2, 2, 4] we can create 3 pairs of numbers: [-2, 2], [-2, 4], and [2, 4] . The absolute differences for these pairs are |(-2)-2|=4, |(-2)-4|=6, and |2-4|=2 . The minimum absolute difference is 2.

Q: Define the minimumAbsoluteDifference function which has a parameter arr. It should return an integer that represents the minimum absolute difference between any pair of elements.
Post your solution @EPYTHONLABBOT
👍1
#Code_Challenge #python #function #loop
Write a function that will return the sum of the first item in the data list and every tenth item after?
#PROJECTCHALLENGE #LOOP #DICTIONARY #LIST #FUNCTIONS

Scrabble

In this project, you will process some data from a group of friends playing scrabble. You will use dictionaries to organize players, words, and points.

There are many ways you can extend this project on your own if you finish and want to get more practice!

N.B: You should go through each task to complete this project.
Post your solution via
@PYTHONETHBOT
Don't post your solution in the group
Follow instructions accordingly

Tasks
letters = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]

points = [1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 4, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10]

1. I have provided you with two lists, letters and points. You would like to combine these two into a dictionary that would map a letter to its point value.

Using a list comprehension and zip, create a dictionary called
letter_to_points that has the elements of letters as the keys and the elements of points as the values.

2. Our letters list did not take into account blank tiles. Add an element to the
letter_to_points dictionary that has a key of " " and a point value of 0.

3. We want to create a function that will take in a word and return how many points that word is worth.
Define a function called
score_word that takes in a parameter word.

4. Inside score_word, create a variable called point_total and set it to 0.

5. After defining point_total, create a for loop that goes through the letters in word and adds the point value of each letter to point_total.

You should get the point value from the letter_to_points dictionary. If the letter you are checking for is not in letter_to_points, add 0 to the point_total.

6. After the for
loop is finished, return point_total.

7. Let’s test this function! Create a variable called asibeh_points and set it equal to the value returned by the score_word() function with an input of "ASIBEH".

8. We expect the word ASIBEH to earn 11 points:

(A + S + I + B + E + H)

Let’s print out asibeh_points to make sure we got it right.

9. Create a dictionary called
player_to_words that maps players to a list of the words they have played. This table represents the data to transcribe into your dictionary:
player1 wordNerd Lexi Con Prof Reader
BLUE EARTH ERASER ZAP
TENNIS EYES BELLY COMA
EXIT MACHINE HUSKY PERIOD

10. Create an empty dictionary called player_to_points.

11. Iterate through the items in
player_to_words. Call each player player and each list of words words.

Within your
loop, create a variable called player_points and set it to 0.

12. Within the loop, create another loop that goes through each word in words and adds the value of score_word() with word as an input.

13. After the inner
loop ends, set the current player value to be a key of player_to_points, with a value of player_points.

14. player_to_points should now contain the mapping of players to how many points they’ve scored. Print this out to see the current standings for this game!

If you’ve calculated correctly, wordNerd should be winning by 1 point.

====GOOD LUCK=====