В вашей разделенной строке есть пробел, он вам не нужен, просто разделите на ','
и используйте .strip()
, чтобы избавиться от пробелов на внешней стороне результата.
Есть некоторые странный код вокруг чтения кода, а также. И вы разделяете список строк чтения, а не только строку, которую хотите прочитать.
Также нет необходимости использовать глобалы, это плохая практика, и ее лучше избегать почти во всех случаях.
Все, что исправлено:
from random import randint
def random_song():
with open('data.txt') as f:
lines = f.readlines()
artist, song = lines[randint(1,43)].split(',')
return artist.strip(), song.strip()
print(random_song())
Обратите внимание, что использование with
обеспечивает закрытие файла после окончания блока with
.
Что касается получения первой буквы каждого слова:
s = 'This is a bunch of words of varying length.'
first_letters = [word[0] for word in s.split(' ')]
print(first_letters)