---
# System prepended metadata

title: Team_3

---

---
title: Team_3
---
# Team_3 Group Activity 
## week_2

### edge cases
> - len(firstName) < 3 => Return False
> - len(firstName) > 30 => Return False
> - len(lastName) < 3 => Return False
> - len(lastName) > 50 => Return False
> - isalapha(firstName[i]) => Return true
> - isalapha(lastName[i]) => Return true
> - len(middleName) < 0 => Return False
> - len(middleName) > 50 => Return False
> - len(middleName) > len(firstName) => Return False
> - len(middleName) > len(lastName) => Return False


## week_3
Each group in the tutorial should share a summary of their teams plans and progress in relation to:

- When (or if) they are running standups and whether they are synchronous or asynchronous
- 
- How often they meet, how they meet, and what the goals/outcomes of any meetings so far have been
-  one time per three days
-  task
-  
- Have they or will they try pair programming
- 
- Any challenges they've faced already after being in a group for a week
- no, good cooperation

Other group members (in other teams) are encouraged to ask questions and learn from what other groups are doing/saying.

## week_4
**Requirement Activity**
**Q**. What are attributes of good requirements?
**Q**. How could we clean this up into well described requirements? 
>"I want a burger with lots of pickles and mayo but I need to make sure that the mayo doesn't make the burger bun really wet. Oh, and it needs to be warm, like, made less than 5 minutes ago warm but not so hot that I burn myself. I'm also not a big fan of plastic containers so if it could be in a paper bag that would be good. Actually, make that a brown paper bag, I like the colour of that"

- component: with lots of pickles and mayo
- wet/dry: burger bun dry and not so hot
- time made(tempture): mayo made less than 5 minutes ago
- bag  - Material : paper
      - colour  : brown 


**Code Reviewing activity**
```python=
def check_password(password):
    
    if password == "password" or password == "iloveyou" or password == "123456":
        return "Horrible password"
    elif (len(password) >= 12 and any(x.isupper() for x in password) and
        any(x.isdigit() for x in password) and 
        any(x.islower() for x in password)):
        return "Strong password"
    elif len(password) >= 8 and any(x.isdigit() for x in password):
        return "Moderate password"
    else:
        return "Poor password"
   
if __name__ == '__main__':
    print(check_password("ihearttrimesters"))
    # What does this do? 

```

```python
def check_password(password):
    '''
    Takes in a password, and returns a string based on the strength of that password.

    The returned value should be:
    * "Strong password", if at least 12 characters, contains at least one number, at least one uppercase letter, at least one lowercase letter.
    * "Moderate password", if at least 8 characters, contains at least one number.
    * "Poor password", for anything else
    * "Horrible password", if the user enters "password", "iloveyou", or "123456"
    '''
    horrible_pw = ["password", "iloveyou", "123456"]
    digit = False
    upper = False

    if password in horrible_pw:
        return "Horrible Password"
    elif len(password) >= 8:
        for char in password:
            if char.isdigit():
                digit = True
            elif char.isupper():
                upper = True
        if digit and upper and len(password) >= 12:
            return "Strong Password"
        elif digit:
            return "Moderate Password"
    
    return "Poor Password"

if __name__ == '__main__':
    print(check_password("ihearttrimesters"))
    # What does this do?

```

Compare these two pieces of code from a pythonic, style, and readability point of view and choose which one you prefer. When you choose one, you must justify your reasonining in teh shared documnet your tutor gives you.