Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Funçao saudacao: nome=input e relação entre títulos

Ola

Fiz algumas práticas com esse exercício. Então:

def saudacao():
  print('Qual o seu nome?')
  nome=input
  print(f'Hello {nome}') 

Erro:

Qual o seu nome?
Hello <bound method Kernel.raw_input of <google.colab._kernel.Kernel object at 0x7f04e5ee3048>>

Minha dúvida é pq esse nome=input não trouxe uma caixa pra digitação como na função correta? ENtendo que não está na mesma ordem da função correta mas nao entendi a lógica então dessa linha correta:

 nome=input('Qual o seu nome? ')
`

E pq quando eu pedi print {nome} a variavel com meu nome que já estava gravada no começo do código (porém em outro título) não veio? Qual a relação entre os títulos do notebook e entre os títulos e as funções?

Obrigada!!

3 respostas
solução!

Olá Darciane, tudo bem?

Primeiramente o erro relatado ocorreu porque input é uma função embutida em Python, e como toda função você precisa abrir e fechar parênteses depois do nome dela, independente se vai escrever algo dentro deles ou não, no caso dessa função específica. Então, assim funcionará:

def saudacao():
  print('Qual o seu nome?')
  nome=input()
  print(f'Hello {nome}') 

E depois, o valor que estava gravado na variável nome não foi impresso porque a variável nome que está dentro da função e que seria impressa caso o input() tivesse funcionado não é a mesma variável com o mesmo nome fora da função. Quando você restringe uma variável dentro de uma função, ela fica restrita àquela função, a não ser que faça um return com ela.

Espero que tenha entendido.

Bons estudos!

Ahh okay. Acho que entendi mas não vimos return ainda. Muito obrigada André!

O conceito de return será visto logo mais a frente ainda neste curso. Qualquer dúvida estamos por aqui.

Bons estudos!