首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复一个数字3次以输出

重复一个数字3次以输出
EN

Stack Overflow用户
提问于 2015-04-09 07:33:36
回答 5查看 1.5K关注 0票数 0

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

代码语言:javascript
复制
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

EN

回答 5

Stack Overflow用户

发布于 2015-04-09 07:37:21

为此,您可以使用一个简单的str.join,并创建一个通用函数:

代码语言:javascript
复制
def repeat(something, times, separator):
    return separator.join([str(something) for _ in range(times)])

现在使用它来创建您的特定函数:

代码语言:javascript
复制
def repeat_three_times(something):
    return repeat(something, 3, '')

输出:

代码语言:javascript
复制
>>> repeat_three_times(1)
'111'

需要注意的几件事:

  1. 我使用str将预期的整数转换为字符串
  2. 我使用列表理解创建了一个迭代器,这就是str.join期望的
  3. 我使用str.join创建了一个字符串,该字符串是列表中字符串的串联(请参见2)。<代码>H213<代码>G214

下面是一个以不同方式使用更通用函数的示例:

代码语言:javascript
复制
>>> repeat(1, 4, ',')
'1,1,1,1'
票数 1
EN

Stack Overflow用户

发布于 2015-04-09 07:39:50

代码语言:javascript
复制
def repeat_number3(a):
    return str(a)*3
票数 1
EN

Stack Overflow用户

发布于 2015-04-09 07:40:06

代码语言:javascript
复制
def repeat_num(x):
    return str(x)*3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29527150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档