Code needs to work for more possibilities
<p><strong>The Question</strong></p>

<pre><code>is_match:
(str, str) -&gt; bool
</code></pre>

<p>The first parameter is a puzzle and the second is a view. Return True iff the view could be a view of the given puzzle.</p>

<p><strong>My Answer</strong></p>

<p>I came up with this:</p>

<pre><code>def is_match(puzzle, view):
    if len(puzzle) != len(view):
        return False
    if len(puzzle) == len(view):
        return True
</code></pre>

<p>I also found this online:</p>

<pre><code>def is_match(given_puzzle, view):
    if len(given_puzzle) != len(view):
        return False
    unique_letters = set(ch for ch in view if ch != '^')
    for (a, b) in zip(given_puzzle, view):
        if a in unique_letters and a != b:
            return False
    return True
</code></pre>

<p>This issue I am having is that if I input:</p>

<pre><code>is_match('blah', 'tr^^')
</code></pre>

<p>It will return True for both of the given codes. Which must be wrong due to the fact that the characters don't even match only the length of the string does
What could i do to fix this?</p>
