定义一个函数digits_stars()....我似乎无法正确执行它

时间:2019-10-26 18:34:52

标签: python for-loop

我正在尝试定义一个函数,该函数具有一个输入整数,并以数字之间的星号(*)作为字符串输出之前的数字范围:

print(digits_stars(3))
> 0*1*2*3*

到目前为止,我的解决方案无效。

def digits_stars(n):
    ans = 0
    for i in range(n):
        ans = str(i) + "*"
    return str(ans)

这会输出

2*

2 个答案:

答案 0 :(得分:1)

  1. 输入一个字符串
  2. 在更新ans时包括旧的ans
def digit_stars(n):
     ans = ""
     for i in range(n):
             ans = ans + str(i) + "*"
     return ans

我自然会怎么做。

def digit_stars(n):
    return "".join([f"{i}*" for i in range(n)])

答案 1 :(得分:1)

这有效:

def digit_stars(n):
    ans = "0*"
    for i in range(n):
        ans += str(i+1) + "*"
    return ans

请注意,我们从0 *开始,因此代码也适用于零输入