Esta resposta é parcialmente um resumo dos comentários, mas aqui está:
Não há como o código funcionar no IDLE como se estivesse colado na sua pergunta: você não chama a função e (assim) ela também não possui argumentos.
Para fazê-lo funcionar a partir do terminal, seu código (arquivo) deve incluir pelo menos:
def num(b):
print("Give a number ")
b = b + 5
print(b)
num(4)
Salvar incluindo extensão de idioma ( .py
) e executá-lo por:
python3 /path/to/script
Como alternativa, você pode torná-lo executável e executá-lo sem python3
na frente, mas você precisa para adicionar o shebang ao seu script:
#!/usr/bin/env python3
def num(b):
print("Give a number ")
b = b + 5
print(b)
num(4)
Então (se você tornou executável), você pode executá-lo por:
/path/to/script
Nesse caso, a extensão de idioma não é necessária.
Se você é novo na codificação, eu diria que apenas use IDLE para escrever, primeiro teste e correção de erros, então use o terminal (como gnome-terminal
) para verificar se tudo funciona como planejado.
Como nota: não sei o que o script deve fazer:)
Tenho a sensação de que você quer algo como:
#!/usr/bin/env python3
def num(b):
number = input("Give a number ")
output = b + int(number)
print("If I add "+str(b)+ ", it makes "+str(output))
num(4)
Então você obteria um resultado como:
% bl0ck_qu0te%Então, quando você der um número:
% bl0ck_qu0te%Depois de pressionar voltar, você recebe:
% bl0ck_qu0te%