Interagindo com o usuario e mais variaveis
Àpos o nosso último artigo acredito que podemos ir em frente e sermos mais complexos. Vamos programar então.
Vamos para um exemplo de um programa realmente complexo:
Quando eu executo o resultado é:
Alto La! Quem deseja passar? Josh Você pode passar, Josh
Oras temos um procedimento novo no codigo acima! É o raw_input que é uma função padrão do Python que requisita do usuario uma string, em suma pede pra ele digitar algo que é tratado como uma string (ou seja, texto), isso é util para interagir com o usuario. Também perceba que o programa "para" quando é chamada a função raw_input ele espera o pressionamento da tecla Enter para prosseguir e imprimir na tela "Você pode passar" mais o que você digitou, que no caso deve ter sido seu nome.
Obviamente pegar informações do usuario sem ter aonde guardá-la é inútil, é ai que entram em cena as variáveis. No código exemplo anterior 's' é uma variável que quarda os dados que você digitou quando o raw_input solicitou. Como vocês já sabem variáveis são como "caixas" que podem guardar valores. (Se você não lembra como usar variáveis volte ao artigo anterior).
E mais um exemplo:
Meu resultado foi:
Digite um número: 12.34 Digite uma string: Hello num = 12.34 A variável num é do tipo: <type 'float'> num * 2 = 24.68 str = Hello str é do tipo: <type 'string'> str * 2 = HelloHello
Observe a diferença entre input, pelo qual "num" foi pega, e raw_input, pela qual a string foi pega. Originalmente raw_input retorna uma string que depois pode ser convertida, pra integer, float, etc (não abordaremos isso ainda), e input retorna um número. Obs: ele também suporta strings mas é algo pouco usual logo não vamos abordar..
A segunda parte do programa usa a função embutida (a função é integrante do Python, é padrão). Numeros são do tipo integer ou float (que são abreviações para "integer" e "floating point" respectivamente). Strings são do tipo string. Integers e floats podem ser trabalhados em funções matemáticas, já strings não podem. Observe também que quando você multiplica dois números, de qualquer tipo, ocorre a multiplicação normal. Enquanto uma string quando é multiplicada ela é repetida pelo número que foi multiplicada (Observe no código a linha: str * 2 = HelloHello).
As operações com strings são diferentes das com números observem os códigos abaixo:
"This"+" "+"is"+" joined." Resulta em: 'This is joined.' "Ha, "*5 Resulta em: 'Ha, Ha, Ha, Ha, Ha, ' "Ha, "*5+"ha!" Resulta em: 'Ha, Ha, Ha, Ha, Ha, ha!'
Aqui está uma mini-lista de algumas operações com strings:
Operação |
Simbolo |
Exemplo |
Repetição |
* |
"i"*5 == "iiiii" |
Concatenação |
+ |
"Hello, " + "World!" == "Hello, World!" |
Exemplos:
1)
Rate_times.py #Calcula o tempo num problema com distancia e velocidade print "Insira uma velocidade e uma distancia" speed = input("Velocidade:") distance = input("Distancia:") print "Tempo:",distance/speed # OBS: Caso você digite 0 no input da velocidade # Um erro será 'raised' pois 0 não pode ser dividido # esse tema será abordado em breve não ligue ainda para isso.
Quando executado:
> python rate_times.py Insira uma velocidade e uma distancia Velocidade:5 Distancia:10 Tempo: 2
> python rate_times.py Insira uma velocidade e uma distancia Velocidade:3.52 Distancia:45.6 Tempo: 12.9545454545
2)
Area.py #Calcula a area e o perimetro de um retangulo print "Insira as informações do retangulo" length = input("Comprimento:")# note nós usamos o input em via de forçar a utilização de numeros width = input("Largura:")# novamente input sacou ? print "Area",length*width print "Perimetro",2*length+2*width
Quando executado:
> python area.py Insira as informações do retangulo Comprimento:4 Largura:3 Area 12 Perimetro 14
> python area.py Insira as informações do retangulo Comprimento:2.53 Largura:5.2 Area 13.156 Perimetro 15.46
Exercicio de casa Escreve um programa que solicite duas strings e dois numeros do usuarios, concatene (junte as sem espaço) e mostra na tela, e na linha seguinte mostrar o resultado da multiplicação dos dois numeros.
Solução do exercicio de casa:
# Solução do exercicio de casa n1 = input("Entre com o primeiro numero: ") n2 = input("Entre com o segundo numero: ") string1 = raw_input("Entre com a primeira string: ") string2 = raw_input("Entre com a segunda string: ") print string1+string2 print n1*n2
Autor Original