n = str(input(‘Digite seu nome:’))
pn = n.split()[0]
un = n.rsplit()[0]
print(f’’‘Muito Prazer em te conhecer
Seu Primeiro nome é {pn}
E seu Último nome é {un}’’’)
Há um erro nesse código, quando coloco o .rsplit, deveria começar a contar as divisões a partir do lado direito, mas continua no lado esquerdo, o que eu tô errando ?
Só um detalhe, não tem porque fazer split duas vezes, basta fazer apenas uma e pegar o primeiro e último de uma vez:
primeiro, *meio, ultimo = n.split()
Assim você já tem o primeiro e último de uma vez. O principal é que o split só é chamado uma vez - lembrando que tanto split quanto rsplit precisam processar toda a string, então pra que processar duas vezes se apenas uma é o suficiente?
Se o resultado do split tiver exatamente dois elementos, o meio fica vazio (senão ele vira uma lista com todos os nomes do meio).
Isso só dá problema se tiver apenas um nome. Nesse caso, o melhor seria pegar um a um (mas ainda sim fazendo um split apenas):
nomes = n.split()
primeiro = nomes[0]
ultimo = nomes[-1]
Assim, se tiver apenas um nome, o primeiro e último serão iguais.
E como eu já disse no seu outro tópico, input já retorna uma string, então fazer str(input()) é desnecessário: faça apenas n = input(...) que é o suficiente.