Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
March 28, 2022 06:57 pm GMT

Tipos de Dados, Variveis e Interagindo com o Usurio 02

Introduo

Neste tpico iremos aprender as primeiras instrues na linguagem Python, como escrever na tela do computador e ler informaes do teclado.

Tambm abordado como utilizar variveis para guardar os dados e quais so os tipos de dados bsicos (primitivos) que podemos armazenar com simples instrues.

Usando o shell

A linguagem Python acompanha um ambiente que voc pode executar instrues e acompanhar a sua execuo e resultado em tempo real, denominado shell.

Existem diversas formas de acess-la, a foma mais simples usando o terminal da sua mquina e digitando o comando python (no esquea de dar enter).

Image description

Execute algumas expresses na shell, como 2 + 2. Uma expresso consiste de valores (nmero 2) e operadores (como a adio +) que podem ser calculados para um valor. Um valor sem operadores tambm considerado uma expresso.

Image description

Para sair do shell, basta digitar exit( ) e dar enter.

Image description

A linguagem Python fornece algumas operaes predefinidas, como os operadores matemticos.

Operadores matemticos

A linguagem Python possui os seguintes operadores matemticos:

Operador Operao Exemplo Resultado
** Exponenciao 2 ** 4 16
% Resto da diviso 20 % 7 6
// Diviso inteira 20 // 7 2
/ Diviso 20 / 7 2.857142
* Multiplicao 4 * 6 24
- Subtrao 7 - 3 4
+ Adio 7 + 3 10

Trs operadores merecem a ateno para os novos programadores: o de exponenciao (**), o resto da diviso (%) e a diviso inteira (//).

A exponenciao calcula a base elevada potncia do expoente, por exemplo 2 ** 4 = 24 = 2 * 2 * 2 * 2.

O resto da diviso literalmente o resto da diviso entre dois nmeros, por exemplo, 20 % 7 = 6, uma vez que 20 dividido por 7 2, e 20 - 2 * 7 igual a 6.

J a diviso inteira retorna a parte inteira quando a diviso no exata, por exemplo 20 // 7 = 2.

Experimente alguns operadores matemticos no shell.

>>> 2 + 3 * 620>>> (2 + 3) * 630>>> 48565878 * 57845328093077826734>>> 2 ** 8256>>> 23 / 73.2857142857142856>>> 23 // 73>>> 23 % 72>>> 2 + 24>>> (5 - 1) * ((7 + 1) / (3 - 1))16.0

A ordem de precedncia entre os operadores semelhante aos matemticos, a multiplicao tem mais prioridade de execuo do que a adio, por exemplo. Da mesma forma, voc pode alterar a ordem de precedncia atravs da utilizao de parnteses.

Tipos de Dados

Todo valor que utilizamos em um programa, pertence a um tipo de dado. A linguagem Python possui como tipos de dados mais comuns: inteiros, ponto flutuante, string, booleanos. Inteiros representam os nmeros que no possuem casas decimais, os de ponto flutuante so os nmeros reais ou que possuem casas decimais. J a string uma sequncia de caracteres ou representam texto.

Tipo de Dado Exemplos
Inteiro -2, -1, 0, 1, 2, 3, 4, 5
Ponto flutuante -1.25, -1.0, -0.5, 0.0, 0.5, 1.0, 1.25
String 'a', 'aa', 'aaa', 'Ola!', '11 dias de aula'
boolean True, False.

Observe que os valores string devem estar entre aspas simples () ou duplas () e o tipo de dado boolean somente pode assumir o valor _True _ (valor verdade) ou o valor False (valor falso). Fique atento que o primeiro caracter maisculo.

Concatenao de string

O operador de adio, alm de somar nmeros, tambm utilizado para juntar ou concatenar strings.

>>> 'primeiro' + ' segundo nome''primeiro segundo nome'>>> 'tenho ' + ' 15 anos''tenho  15 anos'

Replicao de string

Com o operador de multiplicao, pode-se replicar uma string.

>>> 'seis ' * 6'seis seis seis seis seis seis '>>> 6 * 'seis ''seis seis seis seis seis seis '

Armazenamento de Dados

Os dados usados por um programa de computador podem ser armazenados e acessados, a princpio, da memria principal ou memria RAM (Random Access Memory - memria de acesso aleatrio) e do disco rgido. Neste timo caso, os dados devem estar armazenados em algum arquivo.

A velocidade de acesso de uma informao armazenada na memria RAM superior ao armazenado em discos rgidos. Para fins de comparao, se um acesso a memria demorassem na escala de segundos, o acesso a um disco SSD (Solid State Drives - discos de estado slido) levaria semanas e em um disco rgido mecnico, de meses a um ano!

Em compensao os dados armazenados na memria RAM so volteis, se o seu computador for desligado ou reiniciado, eles sero perdidos. J em discos rgidos, estes dados ficaro armazenados permanentemente, at que voc os decida apagar.

Alm disso, a quantidade de memria RAM bem inferior que a quantidade de espao de um disco. Sendo o preo do espao de armazenamento da memria RAM bem superior ao preo de armazenamento de um disco rgido. Por exemplo, comum os computadores pessoais possurem terabytes (TB) de armazenamento em disco e gigabytes (GB) de memria RAM, 1 TB = 1.000 GB.

Varivel

Uma varivel um local na memria principal (RAM) para a escrita e leitura de valores, identificado por um nome.

Criamos variveis em um programa para facilitar o armazenamento de valores que podero ser utilizados em outras instrues. O nome de uma varivel no pode ser alterado, mas o seu valor sim(veremos que tambm podemos deix-la imutvel).

As linguagens de programao podem ser tipadas ou no tipadas. Uma linguagem tipada quando obrigado declarar o nome e o tipo de dados que podem ser armazenados na varivel. J as linguagens no tipadas, pode-se armazenar o valor em uma varivel sem declarar o tipo. A linguagem **Python no tipada.

Atribuio (=)

O operador de atribuio, responsvel para atribuir um valor varivel o = (smbolo de igualdade).

Veja o exemplo baixo:

>>> message = 'Ola, meu primeiro programa'>>> print(message)Ola, meu primeiro programa

A varivel com nome message foi definida e o valor Ola, meu primeiro programa foi atribudo a ela. Podemos ento usar o nome da varivel para acessar o valor armazenado, como na linha print (message).

>>> message = 'Ola, meu primeiro programa'>>> my_age = 30>>> my_salary = 150.50>>> is_Old = False>>> message'Ola, meu primeiro programa'>>> my_age30>>> my_salary150.5>>> is_OldFalse
REGRAS PARA NOMES DE VARIVEIS
  1. O primeiro caractere no pode ser um nmero;
  2. Os outros caracteres podem ser letras, nmeros, ou underscore (_);
  3. As letras em maisculo e minsculo tornam os nomes diferentes, ou seja, varivei VALOR diferente de valor ou Valor. Ou seja, as variveis so CASE-SENSITIVE.

Voc pode alterar livremente o valor de uma varivel depois que ela foi inicializada, teste alguns exemplos.

>>> ano_bissexto = 2016>>> ano_bissexto2016>>> ano_bissexto = 2020>>> ano_bissexto2020

E criar expresses utilizando somente variveis.

>>> valor_produto = 350.50>>> desconto = 0.15>>> valor_desconto = valor_produto * desconto>>> valor_desconto52.574999999999996>>> sobrenome = 'Silva'>>> sobrenome = sobrenome + ' Sousa'>>> sobrenome'Silva Sousa'

Solicitando entrada do usurio

A partir de agora vamos escrever programas mais elaborados do que o simples clculo de variveis a anlise de expresses usando o shell.

Escrevendo o cdigo fonte

Utilizando um editor de texto ou alguma IDE como o Visual Studio Code, digite o seguinte contedo, explicaremos em breve o seu contedo:

#Programa para ler e imprimir nome do usuarioprint('Digite seu nome:')name = input()print('Bem vindo ' + name)

O cdigo fonte de programas Python deve possuir a extenso .py, ento salve o arquivo com o nome nomeUsuario.py em alguma pasta no seu computador. Mas o que o cdigo fonte?

Cdigo fonte o nome do arquivo que contm as instrues ou o algoritmo a ser executado pela mquina, escrito em instrues ou comandos da linguagem de programao utilizada.

Executando o programa

Por ser uma linguagem interpretada, o prximo passo executarmos o programa que acabamos de escrever com o interpretador Python.

Se voc estiver utilizando uma IDE, basta executar pelo prprio ambiente, caso contrrio, acesse o terminal da sua mquina e navegue at a pasta onde voc salvou seu arquivo. Finalmente digite python nomeUsuario.py e interaja com o seu primeiro programa com interao com o usurio.

Image description

Ele um programa bem simples que solicita que voc digite seu nome e depois imprime a mensagem de boas vindas.

Entendendo o programa

#Programa para ler e imprimir nome do usuarioprint('Digite seu nome:')name = input()print('Bem vindo ' + name)

Na linha 01, temos um comentrio. Toda linha que se inicia com o hashcode (#) ignorado pelo Python. Isso significa que o desenvolvedor pode escrever livremente alguma informao sobre o cdigo. O uso de comentrios importante para documentar o algoritmo, geralmente descrevendo a sua funcionalidade. Linhas em branco tambm so ignoradas pela linguagem.

Na linha 02, estamos utilizando a funo print, responsvel por imprimir na tela o texto localizado dentro dos parnteses.

Em Python, uma funo reconhecida pela presena dos parnteses, ela possui um nome e seguida por parnteses que podem ou no receber ou conter algum valor. Isso vai depender da funo que voc est utilizando. Logo, se voc quer usar o print( ) para imprimir algo na tela, voc dever passar o valor a ser impresso dentro dos parnteses.

Na linha 03, temos outra funo: input( ) e o seu valor atribudo varivel name. A funo input( ) responsvel por ler informaes do teclado, at o usurio digitar enter e capturar o valor digitado como uma string. Desta forma a varivel name do tipo string.

J na linha 04, estamos novamente invocando a funo print( ) para imprimir na tela a mensagem Bem vindo concatenado com o valor armazenado na varivel name.

Convertendo tipos de dados

Funo int( ), str( ), float ( )

Se tivssemos que alterar o programa de boas vindas ao usurio, para imprimir alm do nome, solicitar a idade do usurio e calcular a idade dele 15 anos depois?

Uma primeira tentativa, poderia ser:

#Programa para ler e imprimir nome do usuario#Solicitando a idade e calculando o valor em 15 anosprint('Digite seu nome:')name = input()print('Qual sua idade:')age = input()print('Bem vindo ' + name)print('Voce tera ' + (age + 15) + ' anos daqui a 15 anos')

Mas ao executarmos, teremos um erro:

Digite seu nome:joaoQual sua idade:12Bem vindo joaoTraceback (most recent call last):  File "C:\Pessoal\Dropbox\Youtube\Python\codes
omeIdadeUsuario.py", line 8, in <module> print('Voce tera ' + (age + 15) + ' anos daqui a 15 anos')TypeError: can only concatenate str (not "int") to str

Se verificarmos a linha 08, estamos somando a varivel age com o nmero 15, e isso no possvel. O valor armazenado em age uma string, lembre-se que o input( ) retorna uma string.

Para podermos converter um valor do tipo string para um valor inteiro, a linguagem Python possui a funo int( ). E para converter o valor inteiro para uma string, a funo str ( ).

Alterando a ltima linha para converter a idade de valor string para um valor numrico, somar com 15 e depois converter novamente para uma _string _e ser impresso na tela, nosso cdigo ficar:

#Programa para ler e imprimir nome do usuario#Solicitando a idade e calculando o valor em 15 anosprint('Digite seu nome:')name = input()print('Qual sua idade:')age = input()print('Bem vindo ' + name)print('Voce tera ' + str(int(age) + 15) + ' anos daqui a 15 anos')

E sua execuo:

Digite seu nome:joaoQual sua idade:20Bem vindo joaoVoce tera 35 anos daqui a 15 anos

A funo float( ) similar funo int( ), mas converte o tipo de dado string para o tipo ponto flutuante.

Erros comuns

No se pode misturar tipos de dados diferentes dos esperados no uso de um operador.

>>> 'tenho ' + 15 + ' anos'Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: can only concatenate str (not "int") to str>>> 'texto 1' * ' texto 2'Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: can't multiply sequence by non-int of type 'str'>>> 'texto ' * 5.0Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: can't multiply sequence by non-int of type 'float'

Cuidado para no errar o nome da varivel ao tentar utiliz-la.

>>> mensagem = 'teste'>>> print(mensage)Traceback (most recent call last):  File "<stdin>", line 1, in <module>NameError: name 'mensage' is not defined. Did you mean: 'mensagem'?

Mantenha consistncia no valor de uma string, se voc abrir com aspas duplas, ento voc deve fechar com aspas duplas. Da mesma forma para aspas simples.

Exemplos de erros no shell - consistncia no valor de string

>>> mensagem = "Alguma mensagem aqui.'  File "<stdin>", line 1    mensagem = "Alguma mensagem aqui.'               ^SyntaxError: unterminated string literal (detected at line 1)

LINKS DA SRIE:

Instalando Python

Conceitos Iniciais #01


Original Link: https://dev.to/jcarlosvale/aprendendo-a-programar-usando-python-tipos-de-dados-variaveis-e-interagindo-com-o-usuario-02-3af5

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To