«Как я могу изменить приведенную ниже программу, чтобы она печаталась в определенном формате?» - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь изменить приведенную ниже программу, чтобы она печатала строку в следующем формате

вход : Fred, 4

выход

Fred

Fred Fred

Fred Fred Fred

Fred Fred Fred Fred

В этом коде 3 ошибки:

def prlines(str, num):

    n in range(0,num):

    print (str (n + 1))


prlines()

Итак, я уже попробовал следующий код:

name=str(input('Enter a name:'))  
num=int(input('Enter a number:'))  

 def prlines(str, num):  

    for n in range(0, num):

      print(str*(n + 1))

 print(prlines(name, num))

Я получаю настоящие результаты (например, с именем «Фред» и номером «4»):

Fred

FredFred

FredFredFred

FredFredFredFred

None

У меня вопрос: как получить ожидаемые результаты для отображения со следующими ограничениями:

  • без None в конце

  • с пробелами между строками

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Первый

Анализ кода

name=str(input('Enter a name:'))  
num=int(input('Enter a number:'))  

def prlines(str, num):  

    for n in range(0, num):

        print(str*(n + 1)) # No spaces added = No spaces on the output

print(prlines(name, num)) # You are printing the output of the above function, which is None since it has no "return"

print(func()) - это место, где вы получаете None от

, так как вы печатаете тольконесколько раз, вы не включили пробелы (Python не будет знать:)

Ответ

name=str(input('Enter a name:'))  
num=int(input('Enter a number:'))  

def prlines(str, num):  
    for n in range(0, num):
        print((str+' ')*(n + 1))

prlines(name, num)

Советы

Этот код довольно грубый, вам нужно подумать об обработке ошибок, когда кто-то не вводит int во второй ввод.

1 голос
/ 08 апреля 2019

Вы можете использовать:

f'{s} ' * n + f'{s}'

Код

name = input('Enter a name: ')
num = int(input('Enter a number: '))

def prlines(s, num):
    for n in range(num):
        print(f'{s} ' * n + f'{s}') 

prlines(name, num)

Несколько баллов :

  • Не называйте переменную как str.

  • Функция по умолчанию без return, возвращает None, следовательно, у вас есть None в конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...