# How to solve Problem 5 in Assignment 1

In assignment 1, problem 5 I am still not figuring out how to do the iteration. I managed to sort the correct result with this code: (…) number_of_happy_tweets = number_of_happy_tweets

# perform the calculations here

tweets_not_with_happy_words = 4
for word in tweets:
for word in happy_words:
if word not in tweets:
number_of_happy_tweets = number_of_tweets - tweets_not_with_happy_words

print(number_of_happy_tweets) .

But this is not a correct loop iteration, given that I declare a variable and the calculation is based only on variable declaration. How can I unstuck…?!

I honestly have no idea what you want to achieve here.

Problems:

• You have 2 for loops, both with the same variable name.
• You’re checking for `word not in tweets`, which is true, because tweets usually contain more words (single-word tweets perhaps exists, but not in this assignment).
• No idea why you’re counting the not happy words, if you can count just the happy ones.

In my opinion your condition should look like this: `word in tweet` where word variable is one of the words from `happy_words` list, and tweet variable is one tweet from `tweets` list.

1 Like

This is how the loop should work here:

Step 1: firstly, get each tweet one by one from the tweets list in a loop
Step 2: then, you need to get each happy word from the list - happy words with another loop inside the first loop
Step 3: then you need to check if that selected happy word is available in a particular tweet that we got from the first loop

If it is available, then you will count it under `number_of_happy_tweets`

`````` # step 1
for tweet in tweets:
# step 2
for word in happy_words:
#step 3
if word in tweet:
number_of_happy_tweets += 1
``````

I hope this clears it a bit.

2 Likes

I finally figure it out. It was by checking the office hours discusssion on youtube.The final result was very similar to the one proposed here. I wasn’t using the former loop where you iterate over a boolean variable. That’s clever!

I finally figure it out. It was by checking the office hours discusssion on youtube.The final result was very similar to the one proposed here. I wasn’t using the former loop where you iterate over a boolean variable. That’s clever!

1 Like