<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def nontruncating_zip(*seqs):
 """Return a list of tuples, where each tuple contains the i-th element from each of the argument sequences. The returned list is as long as the longest argument sequence. Shorter argument sequences will be represented in the output as None padding elements: nontruncating_zip([1, 2, 3], ['a', 'b']) -> [(1, 'a'), (2, 'b'), (3, None)] """

        n_seqs = len(seqs)

        tups = []
        idx = 0
        while True:
            empties = 0
            tup = []
            for seq in seqs:
                try:
                    tup.append(seq[idx])
                except IndexError:
                    empties += 1
                    tup.append(None)
            if empties == n_seqs:
                break
            tup = tuple(tup)
            tups.append(tup)
            idx += 1

        return tups