Dúvida no retorno de um DEF

Boa tarde pessoal, estou iniciando alguns estudos em Python e estava criando um código básico para perguntar nome e idade, mas no retorno da requisição ele faz uma quebra de linha.

Segue o código :

nome = input('Insira seu nome: ') 
idade = int(input('Insira sua idade: '))

def Hello(nome,idade):
print('Olá, meu nome é ',nome,'\nMinha idade é :',idade,'\nE eu sou ')

Hello(nome,idade)

if idade < 14 : 
print('Criança')
elif idade <=18  :
print('Adolescente')
elif idade < 55: 
print ('Adulto')
else :
print ('Velho')

Quando realizo o teste ele retorna :
Insira seu nome: marcos
Insira sua idade: 20

Olá, meu nome é marcos
Minha idade é : 20
E eu sou
Adulto

Haveria a possibilidade de retornar o último valor junto a frase " E eu sou " + Retorno do IF ?
Qualquer dica seria bem vinda na alteração do código, agradeço desde já a todos.

1 curtida

Vou assumir que está usando python 3.

Para remover a quebra de linha do print, você pode passar o parâmetro nomeado end que indica a string para terminar a linha. No seu caso ficaria:

print('Olá, meu nome é ',nome,'\nMinha idade é :',idade,'\nE eu sou ', end=' ')

Isso resolve seu problema, mas geralmente é uma melhor prática você preparar a mensagem inteira e usar o print apenas uma vez. Sua funçao ficaria assim:

def hello(nome,idade):

  if idade < 14 : 
    grupo = 'Criança'
  elif idade <=18  :
    grupo = 'Adolescente'
  elif idade < 55: 
    grupo = 'Adulto'
  else :
    grupo = 'Velho'

  print('Olá, meu nome é ',nome,'\nMinha idade é :',idade,'\nE eu sou ', grupo)

hello(nome,idade)

2 curtidas

Entendi perfeitamente, muito obrigado pela dica :+1::+1: