Определить функцию digits_stars () .... Я не могу выполнить ее правильно - PullRequest
0 голосов
/ 26 октября 2019

Я пытаюсь определить функцию, которая имеет в качестве входных данных целое число и выводит диапазон чисел перед этим в виде строки со звездами (*) между цифрами:

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 ]

1 голос
/ 26 октября 2019

Это работает:

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

Обратите внимание, что мы начинаем с 0 *, поэтому код также работает для нулевого ввода

1 голос
/ 26 октября 2019
  1. Создайте строку ANS
  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)])
...