You are on page 1of 19

Python: Comandos Bsicos

Claudio Esperana

Primeiros passos em programao


Atagorasvimoscomocomputaralgumas

expressessimples

Expressessoescritasecomputadasimediatamente Variveispodemserusadasparavalorestemporrios

Umprogramatpicoentretantousavriostiposde

construestaiscomo:

Comandoscondicionais Comandosderepetio Definioeusodeprocedimentos(subprogramas) Definioeusodeclasseseobjetos(programaoOO)

Primeiros passos em programao

Comentrio >>> # Srie de Fibonacci ... a,b=0,1 Atribuio dupla >>> while b < 10: Comando de repetio ... print b ... a,b=b,a+b Expresso booleana ... 1 Bloco do Indentao 1 comando de repetio 2 3 5 Resultado 8

Programas armazenados
medidaqueosprogramasvosetornandomaiscomplicados,

maisinteressanteguardlosemarquivoseexecutlosquando necessrio
Arquivofibo.py(useumeditordetextoscomoodoIDLE): # Srie de Fibonacci: a, b = 0, 1 while b < 10: print b a, b = b, a+b
Paraexecutaroprograma,

Digite python fibo.py noseushellou Cliquenoconedoarquivo,ou DedentrodoeditorIDLE,selecioneRunModule(F5)

print
Formageral:print expr,expr,... Osvaloresdasexpressessoescritosumapsooutrosem

pulardelinha:
>>> print "1.001 ao quadrado ",1.001**2 1.001 ao quadrado 1.002001
Seocomandoterminarcomvrgula,oprximoprintescrever

namesmalinha.Porexemplo:
>>> a, b = 0, 1 >>> while b < 1000: ... print b, ... a, b = b, a+b ... 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

input
OprogramaquecomputaelementosdasriedeFibonacci

terminaquandoatingeumelementocomvalorsuperiorauma constante
Podemostornaroprogramamaisflexvelseaousuriofor

permitidoestipularovalormximo
Ocomandoinputpermiteperguntaraousurioumvalor

(normalmenteatribudoaumavarivel)

Formato:input(pergunta) ondeperguntaumastringopcionalqueserexibidapara indicarovalorqueseespera(i.e.,prompt)

Exemplo: >>> a = input("Entre com um numero: ") Entre com um numero: 19 >>> print a Usurio digita o nmero 19

Input
Ocomandoinputesperaquesedigitealgoquefaasentidodo

ladodireitodeumsinaldeatribuio.Ex:

>>> print a 19 >>> b = input() a >>> b 19 >>> c = input("entre com uma cadeia de caracteres: ") entre com uma cadeia de caracteres: abc Traceback (most recent call last): File "<stdin>", line 1, in ? File "<string>", line 0, in ? NameError: name 'abc' is not defined >>> c = input("entre com uma cadeia de caracteres: ") entre com uma cadeia de caracteres: "abc" >>> c 'abc'

raw_input
semelhanteaoinput,masnotentainterpretaro

quefoidigitadocomoumaexpresso

Oresultadosimplesmenteumastringcomotexto digitado

Ex.:
>>> nome = raw_input ("Entre seu nome: ") Entre seu nome: Claudio Esperana >>> print nome Claudio Esperana >>> nome 'Claudio Esperan\xe7a'

while
Repeteumaseqnciadecomandosenquantoumadadaexpresso

booleanaavaliadacomoverdadeira
Formato:

while expresso: comando ... comando


Exemplo:

>>> a = 10 >>> while a>8: ... print a, ... a = a-1 ... 10 9

Laos Infinitos
Comoemtodocomandoderepetio,importante

evitaroschamadoslaosinfinitos
Ex.:
>>> a = 10 >>> while a>8: ... print a, ... a = a+1 ... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...

if
ocomandocondicionalporexcelncia Formatos:

if expressao: comandos if expressao: comandos1 else: comandos2 if expressao1: comandos1 elif expressao2: comandos2 else: comandos(N)

Executa comandos apenas se expresso for verdadeira Executa seq de comandos 1 caso expresso seja verdadeira. Caso contrrio, executa seq de comandos 2 Executa seq de comandos 1 caso expresso1 seja verdadeira. Caso contrrio, testa expressao2 e executa seq de comandos 2 se verdadeira

Vrios desses...
Caso contrrio, executa seq de comandos N

if
Exemplo1

a = input("Entre com um numero:") if a < 0: print a," negativo" print "Obrigado!" Execuo1: Entre com um numero:2 Obrigado! Execuo2: Entre com um numero:-2 -2 negativo Obrigado!

if
Exemplo2

a = input("Entre com um numero:")


if a < 0: print a," negativo" else: print a," zero ou positivo" print "Obrigado!"

Execuo1:
Entre com um numero:2 2 zero ou positivo Obrigado!

Execuo2:
Entre com um numero:-2 -2 negativo Obrigado!

if
Exemplo3

a = input("Entre com um numero:")


if a < 0: print a," negativo" elif a==0: print a," zero" else: print a," positivo" print "Obrigado!"

Execuo1:
Entre com um numero:0 0 zero Obrigado!

Execuo2:
Entre com um numero:2 2 positivo Obrigado!

Exerccio: algarismos romanos


Fazerumprogramaqueescrevaarepresentaoem

algarismosromanosdeumnmerointeiropositivo

Ousuriodeveentrarcomumnmero(input) Oresultadodeveserimpressonoconsole(print)

Exemplodeexecuo:
Entre com um numero positivo: 1985 Em algarismos romanos: MCMLXXXV

Exerccio: algarismos romanos


Algoritmo

Arepresentaoemromanosumastringqual acrescentadaumaletraporvez

Inicialmente,umastringvazia Porexemplo,aletra'M'correspondecasadosmilhares Seonmero2200,sabemosqueteremosdoisM'sna representaoemromanos SabemosquehM'sseonmeromaiorouiguala1000


Semprequeummilharforcomputado,subtrair1000donmero

Examinarassucessivaspotnciasde10

Umprocessamentosemelhantefeitoparaoutrosalgarismos romanos,porexemplo:

Seonmeromaiorouigualque500,acrescentar'D' Seonmeromaiorque900,acrescentar'CM'

Exerccio: algarismos romanos


DICA:processandoumnmeroentre1e9 if num >= 9: romano = romano + "IX" num = num-9 if num >= 5: romano = romano + "V" num = num-5 if num >= 4: romano = romano + "IV" num = num - 4 while num >= 1: romano = romano + "I" num = num - 1

Exerccio: nmeros primos


Fazerumprogramaquedecidaseumnmeropositivo

dadoprimoouno

Entrada:nmerointeiropositivo Sada:diagnsticodeprimalidadedonmero
Entre 169 Entre 983 com um nmero inteiro positivo: 169 mltiplo de 13 com um nmero inteiro positivo: 983 primo

Exemplosdeexecuo:

Exerccio: nmeros primos


Umnmeronaturalprimosedivisvelapenaspor

simesmooupelaunidade
Istosugereoseguintealgoritmo:

Seonmero1ou2,entoprimo Casocontrrio,

Sejadumpossveldivisor,cujovalorinicialmente2 Repetir
Seorestodadivisodonmeropordzero,entoonmerono primo Casocontrrio,incrementard Sedigualoumaiorqueonmero,entoterminarrepetio diagnosticandoonmerocomoprimo

You might also like