Lesson 1
Entrada, impressão e números
1. Como ler e escrever em Python
Todo programa é eventualmente um processador de dados, portanto, devemos saber como inserir e enviar dados dentro dele. Existe uma função, print()
, para saída de dados de qualquer programa Python. Para usá-lo, passe uma lista separada por vírgulas de argumentos que você deseja imprimir para a função print()
. Vamos ver um exemplo. Pressione "run" e depois "next" para ver como o programa está sendo executado linha por linha:
print(5 + 10) print(3 * 7, (17 - 2) * 8) print(2 ** 16) # duas estrelas são usadas para exponenciação (2 para o poder de 16) print(37 / 3) # single forward slash é uma divisão print(37 // 3) # double forward slash é uma divisão inteira # ele retorna apenas o quociente da divisão (isto é, nenhum resto) print(37 % 3) # sinal de porcentagem é um operador de módulo # ele dá o restante do valor esquerdo dividido pelo valor correto
Para inserir dados em um programa, usamos input()
. Esta função lê uma única linha de texto, como uma String.
Aqui está um programa que lê o nome do usuário e os cumprimenta:
print('What is your name?') name = input() # leia uma única linha e armazene-a na variável "nome" print('Hi ' + name + '!')
2. Soma de números e cordas
Vamos tentar escrever um programa que insira dois números e imprima sua soma. Lemos os dois números e armazená-los na variáveis a
e b
usando o operador de atribuição =
. No lado esquerdo de um operador de atribuição, colocamos o nome da variável. O nome pode ser uma cadeia de caracteres latinos ( AZ
, az
, 0-9
, _
), mas deve começar com uma letra no intervalo AZ
ou az
. No lado direito de um operador de atribuição, colocamos qualquer expressão que o Python possa avaliar. O nome começa a apontar para o resultado da avaliação. Leia este exemplo, execute-o e observe a saída:
a = input() b = input() s = a + b print(s)
Depois de executar o exemplo, podemos ver que ele imprime 57
. Como fomos ensinados na escola, 5 + 7
dá 12
. Então, o programa está errado e é importante entender o porquê. A questão é que, na terceira linha s = a + b
Python "resumiu" duas cadeias, em vez de dois números. A soma de duas strings em Python funciona da seguinte maneira: elas são coladas uma após a outra. Também é chamado às vezes de "concatenação de string".
Você vê no Inspetor variável, no lado direito, que os valores ligados a variáveis a
e b
estão entre aspas? Isso significa que os valores lá são string, não números. Strings e números são representados em Python de forma diferente.
Todos os valores em Python são chamados de "objetos". Todo objeto tem um certo tipo. O número 2 corresponde a um objeto "número 2" do tipo "int" (ou seja, um número inteiro). A string 'hello'
corresponde a um objeto "string 'hello'" do tipo "str". Cada número de ponto flutuante é representado como um objeto do tipo "float". O tipo de um objeto especifica que tipo de operações pode ser aplicado a ele. Por exemplo, se as duas variáveis "first"
e "second"
estiverem apontando para os objetos do tipo int
, o Python poderá multiplicá-las. No entanto, se eles estão apontando para os objetos do tipo str
, o Python não pode fazer isso:
first = 5 second = 7 print(first * second) # você pode usar aspas simples ou duplas para definir uma string first = '5' second = "7" print(first * second)
Para converter (converter) a string de dígitos em um número inteiro, podemos usar a função int()
. Por exemplo, int('23')
fornece um objeto int com valor 23
.
Dadas as informações acima, agora podemos corrigir a saída incorreta e produzir a soma dos dois números corretamente:
a = int(input()) b = int(input()) s = a + b print(s)