Skip to content

Commit

Permalink
Merge pull request #1 from the-vampiire/master
Browse files Browse the repository at this point in the history
fork sync
  • Loading branch information
PresleyWong authored Oct 13, 2018
2 parents 39e1d95 + 0a01dce commit e4f77e9
Show file tree
Hide file tree
Showing 3 changed files with 119 additions and 0 deletions.
41 changes: 41 additions & 0 deletions beginner/Profile-Lookup_Unimpressions.py
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"))
60 changes: 60 additions & 0 deletions beginner/sum-earnings-mikelane.py
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
18 changes: 18 additions & 0 deletions beginner/sum-earnings-sbielenica.py
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]))

0 comments on commit e4f77e9

Please sign in to comment.