Question: I'm trying to get this example code to work:

```
a = ("good ")
b = ("morning")
z = input("Hi: ")
z
if z == "hello":
    print("good day!")
elif z == a and b:
    print("Good Night")
else:
   print("nope")

```

So I want it to print "Good Night" if the typed input is "good morning" (a and b) but it's not doing that. Instead it's printing "nope". What's the mistake I'm doing?

Answer: 
You need to join a and b strings as when you have the condition a and b it looks for making it true as a and b not by joining them! So you can do a + " " + b instead of a and b in the condition!
The `and` doesn't concatenate (aka join) the strings like you think it does. It a boolean operator is used as the logical-and. Like others have suggested, you can concatenate them using `+`, but your a string has a space at the end, so if it's the reverse order (`morning good`), it won't work. Maybe use something like this:

```
a = "good" # notice the trailing space is not there
b = "morning"

if (z == (a + " " + b) or z == (b + " " + a)):
    # rest of your code...

```

or if you're into the fancy new f strings, you can use this in your if statement condition:

```
(z == (f'{a} {b}') or z == (f'{b} {a}'))

```

Hope that helps!