输出数字重复3次

时间:2015-04-08 23:33:36

标签: python numbers repeat

我需要定义一个重复3次的函数。如果输入为1,我只能将它作为列表输出为[1,1,1]。但是我需要输出为111 这就是我所拥有的

def repeat_number(num):
    if not type(num) is int:
        return None

    list_1 = []
    x = list_1.append(num)
    y = list_1*3

    for i in y:

    return i,i,i

a = 12

print (repeat_number(a))

我希望输出为121212

5 个答案:

答案 0 :(得分:1)

您可以使用简单的str.join来创建常规函数:

def repeat(something, times, separator):
    return separator.join([str(something) for _ in range(times)])

现在用它来创建你的特定功能:

def repeat_three_times(something):
    return repeat(something, 3, '')

输出:

>>> repeat_three_times(1)
'111'

很少有事情需要注意:

  1. 我使用str将预期的整数转换为字符串
  2. 我使用列表推导来创建一个str.join期望
  3. 的迭代
  4. 我使用str.join创建了一个字符串,它是列表中字符串的串联(参见2)。
  5. 以下是以不同方式使用更一般功能的示例:

    >>> repeat(1, 4, ',')
    '1,1,1,1'
    

答案 1 :(得分:1)

def repeat_number3(a):
    return str(a)*3

答案 2 :(得分:0)

def repeat_num(x):
    return str(x)*3

答案 3 :(得分:0)

如果输出为[1, 1, 1]并且您正在寻找111,则可以执行以下操作:

print (*repeat_number(a), sep='')

但是,我建议您使用以下功能执行以下操作:

def repeat_number(num):
    if type(num) != int: return
    return int(str(num)*3)

然后你所要做的就是:

print (repeat_number(a))
正如你最初的尝试一样。另外,这个函数返回一个实际数字,这可能是好的。

答案 4 :(得分:0)

您可以将数字转换为字符串并相乘。

def repeat(num):
    return str(num)*3

a = 12
print(repeat(a))