<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_choices(*args):
 """Convert a 1-D sequence into a 2-D sequence of tuples for use in a Django field choices attribute ((0, u'0'), (1, u'1'), (2, u'2')) ((0, u'a'), (1, u'b'), (2, u'c'), (3, u'd')) (('hello', u'hello'),) True """

    if not args:
        return tuple()
    if isinstance(args[0], (list, tuple)):
        return make_choices(*tuple(args[0]))
    elif isinstance(args[0], collections.Mapping):
        return tuple((k, unicode(v)) for (k, v) in args[0].iteritems())
    elif all(isinstance(arg, (int, float, Decimal, basestring)) for arg in args):
        return tuple((k, unicode(k)) for k in args)