Hi ☺️
so i'm here again to share my experience so far studying software engineering as part of cohort III at Blockfuse labs.
its seven(7) weeks already guys and i'm gradually moving from a complete beginner who has never known coding or how to read the simplest code and know what it does but i'm now proud to say that im no longer in that space anymore as we continued with Python.
week 7 started with Operators in Python even though we had started operators in the previous week, we continued with "Logical Operators" which comprises of `and, or & not`.
i was made to understand how these logical operators work and of course as a standard in Blockfuse labs, we did some hands on practice and then tasks came in which make the learning souch fun as i got to run into some few we rrors and mistakes, asked a few questions and came back on track understanding that these logical operators when applied returns `boolean`, cool right.
so what this means is that when attached with our arithmetic operators and also our comparism operators, i also understood that there must be at least two or more operands in order to use these our comparism and logical operators.
now i was made to recall my `Truth table`. as it helps in understanding the logic arround these operators.
* For the `or` operator, we need only one operand to be `true` for the operation to be declared true. for example,
```
num1 = 30
num2 = 50
print(num1 > num2 or num2 > num1)
```
The above code when displayed result is `true` because one operand is true.
* For the `and` operation, it requires both operands to be true for the operation to result to true. for example,
```
num1 = 30
num2 = 50
print(num1 > num2 and num2 > num1)
```
The above equation results to `false` since one operand in the operation is false, the whole operation results in false.
* For the `not` operator, it works in such a manner that reverses the outcome of the `and` and `or` operators, that is, `4 == 4` results to `true` but using the not operator like this `not 4 == 4` results in `false`. thats logical i know right ☺️.
We were also introduced to a topic in python know as "List"
i got to understand that one has to always think of the fastest and easiest way to write codes, our incredible tutor started by first paint a scenario to us where we're writing a code that requires the names of all the countries in the world and display(print) it out, how do we intend to do it? first my thought was to create a variable and a print command for every single country but i soon got to kmow that, in as much as it'll work, there's a situation know as "Time complexity and space complexity". what thateans is that, since we have upto 195 countries in the world, my code will have 195x2 lines of code for each variable and its print command. that brought the need to use list which is used to store multiple items in a single variable for example. instead of this,
```
#variables for countries and their values
country1 = "Nigeria"
country2 = "Germany"
country3 = "China"
country4 = "USA"
country5 = "UK"
#print commands
print(country1)
print(country2)
print(country3)
print(country4)
print(country5)
```
see how much time and space i used to achieve this. meanwhile using a list willake it so easy, for example.
```
#list of countries
countries = ["Nigeria","Ghana","Egypt","China","Spain","Israel","USA","Germany"]
#print command
print(countries)
```
easy right? 😁😁. We delved deeper into understanding how to navigate our codes with the `list`, like how to create a list data structure in which i learned 2 way which are
1. By defining our list using `[]` square brackets.
2. By constructor functions `'list'`.
the week was all about hands on and understanding how list works and use cases of list when we're coding. we got the opportunity to see Dev Longs who gave us some important, very important Ted talks on our coding journey and how everyone is expected to bring out their best or nothing else, of course he also motivated us and painted a bigger picture which had the future looking so bright for us.
The concluding part of week 7 was not so different from the previous weeks, only more intence, i'm talking about the Hands-on-friday which started with the usual python quiz from the online course python essentials. the quiz was very tricky and then we proceeded with hands on tests where we're presented with real life problems to solve using our codes, after which we get to push our codes to Github(i'll drop my repo at the end as usual🌝), honestly everything our tutors do or teach or instructs us to do are for our greatest good in the long run.
# Key Takeaway
Even though the weekes are becoming thesame in terms of activities, the difference is that we get to cover new stuffs everytime but what i've come to realize about being in Blockfuse labs is how they deliberately craft policies and strategies that ensures every student is carried along and not just that but how all they are doing and teaching us are part of what makes a proficient software engineer in this ever demanding and evolving industry. iust say that i'm to be here.
see you next time i come on here to tell y'all about my progress at one of Africa's best tech companies.
Here's my Github repo for the hands on tasks below.
https://github.com/J2Doeyok/python-hands-on3