Как я могу использовать end = "" в функции? - PullRequest
0 голосов
/ 17 июня 2020

print(x,end= "") работает, но я хочу использовать end= "" в функции, поэтому return(x,end= "") не работает. Как я могу использовать его в функции в этом коде?

def b(a):
   for i in a.split():
      return(i[0],end= "")
b("welcome to the jungle")

wttj это то, что я хочу.

Ответы [ 3 ]

3 голосов
/ 17 июня 2020

Использование split() с пониманием списка:

sentence = "welcome to the jungle"
splitted = sentence.split()
letters = [word[0] for word in splitted]
print ("".join(letters))

однострочное:

print("".join([word[0] for word in sentence.split()]))

ВЫХОД :

wttj
1 голос
/ 17 июня 2020

end - это параметр, определяющий c функцию print, а не то, что вы можете применить к произвольному строковому выражению.

Если вам нужна первая буква каждого слова, это просто

def b(a):
    return ''.join(i[0] for i in a.split())
1 голос
/ 17 июня 2020

Функция может возвращать значение только один раз, поэтому, поскольку вы поместили оператор return внутри for-l oop, функция получила возможность выполнить итерацию только один раз. Попробуйте это:

def b(a):
    c = ''
    for i in a.split():
        c += i[0]
    return c

print(b("welcome to the jungle"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...