Как я могу получить строку из функции, которую я сделал, для хранения в глобальной переменной, которая есть в моей основной программе? - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь сохранить данные переменной функции в переменной в моей основной программе. Цель этой программы - запросить ввод (имя автора) и добавить пробелы, если длина значения удовлетворяет условию, что оно меньше значения, в этом случае все, что хранится в numb (16).

Мой код функции такой:

def AddSpaces(auth,numb):
    print("Runs")
    while len(auth) < numb:
        auth = auth + " "
    print(auth)

Я использую его для этого:

Author = str(input("Author: "))
AddSpaces(Author,16)
print(Author)

Вывод функции будет "Автор ... ....... "но для программы это" Автор ". Как я могу получить аутентификацию для сохранения в Author? Спасибо.

1 Ответ

0 голосов
/ 31 января 2020

Вы должны вернуть значение из функции вместо его печати. Также ваша функция реализована очень неэффективно. Используйте строки формата вместо l oop:

def add_spaces(auth, numb):
    return f"{auth:{numb}s}"

Не вызывайте str(), input уже возвращает строку. И не используйте заглавные буквы в именах переменных, это против Python руководства по стилю:

author = input("Author: ")
author_with_spaces = add_spaces(author, 16)
print(author_with_spaces)
...