-
Notifications
You must be signed in to change notification settings - Fork 69
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from the-vampiire/master
fork sync
- Loading branch information
Showing
3 changed files
with
119 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
contacts = [ | ||
{ | ||
"firstName": "Akira", | ||
"lastName": "Laine", | ||
"number": "0543236543", | ||
"likes": ["Pizza", "Coding", "Brownie Points"] | ||
}, | ||
{ | ||
"firstName": "Harry", | ||
"lastName": "Potter", | ||
"number": "0994372684", | ||
"likes": ["Hogwarts", "Magic", "Hagrid"] | ||
}, | ||
{ | ||
"firstName": "Sherlock", | ||
"lastName": "Holmes", | ||
"number": "0487345643", | ||
"likes": ["Intriguing Cases", "Violin"] | ||
}, | ||
{ | ||
"firstName": "Kristian", | ||
"lastName": "Vos", | ||
"number": "unknown", | ||
"likes": ["JavaScript", "Gaming", "Foxes"] | ||
} | ||
]; | ||
|
||
|
||
def look_up_profile(name, field): | ||
for lookup in contacts: | ||
lookupname = lookup.get('firstName') | ||
if lookupname.casefold() == name.casefold(): | ||
lookupfield = lookup.get(field) | ||
if lookupfield == lookup[field]: | ||
return lookupfield | ||
else: | ||
return "No Such property." | ||
return "No such contact." | ||
|
||
#Change these values to test your function | ||
print(look_up_profile("Akira", "number")) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
import functools | ||
|
||
|
||
def sum_earnings(s: str) -> int: | ||
""" | ||
Challenge | ||
- Write a function that accepts a comma-separated string input of | ||
earning/spending activity and returns the sum of earnings as a | ||
single int value. | ||
- If at any point the spending (negative) value is greater than the | ||
sum of earned (positive) values before it then the streak ends and | ||
the count should start over | ||
We have a list in string type separated by commas that represented | ||
buy or sell activity. Positive value for selling and negative value | ||
for buying activity. For example, in the following string, this | ||
user sold something for $7 on the 2nd day, and something for $2 on | ||
the 4th day, and then bought something for $12 on the 5th day, and | ||
so on. | ||
>>> sum_earnings('0,7,0,2,-12,3,0,2') | ||
5 | ||
This user's highest earnings streak is $5, which started on the 6th | ||
day and ended on the 8th day. The streak does not start before the | ||
6th day because the user spent $12 on the 5th and broke earlier | ||
streak on $9. | ||
>>> sum_earnings('1,3,-2,1,2') | ||
5 | ||
Notes | ||
If the user did not do anything (i.e. 0,0,0,0,0) or only bought | ||
things without selling anything (i.e. -4,-3,-7,-1), then it should | ||
output with 0. | ||
>>> sum_earnings('0,0,0,0,0') | ||
0 | ||
>>> sum_earnings('-4,-3,-7,-1') | ||
0 | ||
Your program should be able to handle a comma-separated string | ||
consisting of any number of values. Your program should also be | ||
able to handle invalid input. If an invalid input is given, it | ||
should output 0. | ||
some examples of invalid input: | ||
>>> sum_earnings('qwerty') | ||
0 | ||
>>> sum_earnings(',,3,,4') | ||
0 | ||
>>> sum_earnings('1,2,v,b,3') | ||
0 | ||
""" | ||
try: | ||
return functools.reduce(lambda x, y: max(0, x + y), map(int, s.split(','))) | ||
except ValueError: | ||
return 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
|
||
def sum_earning(input): | ||
|
||
streak = 0 | ||
total_sum = 0 | ||
|
||
for num in input: | ||
if num >= 0: | ||
streak += 1 | ||
total_sum += num | ||
elif num < 0: | ||
streak = 0 | ||
total_sum = 0 | ||
|
||
return total_sum | ||
|
||
|
||
print(sum_earning([0,7,0,2,-12,3,0,2])) |