Мы можем разбить строку имени на массив, затем применить карту, чтобы получить первый символ из каждого элемента массива, и, наконец, использовать Reduce для объединения сокращенных букв.
import functools
def abbreviate_name(name):
return str(functools.reduce(lambda a, b: a + b, map(lambda x: x[0], name.split())))
Использование этой функции с вашим кодом мы получаем ...
import functools
def abbreviate_name(name):
return str(functools.reduce(lambda a, b: a + b, map(lambda x: x[0], name.split())))
def main():
outfile = open("workersList.txt", 'r')
workers = 0.0
for line in outfile:
workers = workers + 1
print(abbreviate_name(line.rstrip("\n")))
print()
print("Total number of workers is:",workers)
outfile.close()
main()