Os Telefones
Rodrigo Lira
Rodrigo Lira
Aluno do 5º período de Engenharia
da Computação na UPE.
Conheci python no final de 2008.
Participa dos grupos...
Os Telefones
Na pacata campestre vila de
Arquivonaoencontradoville,
todos os telefones têm 6
dígitos. A companhia telefôni...
Não pode haver dois dígitos
consecutivos idênticos, porque
isso é chato.
A soma dos dígitos tem que ser
par, porque isso é...
Então, dadas essas regras perfeitamente
razoáveis, bem projetadas e maduras,
quantos números de telefone na lista
abaixo s...
Filter
Filter
Aplicação de filtro
Tem como retorno uma sequência formada
por todos os itens em que func(item) é True.
filter(funç...
Lambda
Função anônima.
Seu corpo deve conter apenas expressão.
Não possui a instrução return.
Seguem o modelo:
lambda arg1...
Separar os telefones
telefones = “215228, 218415”
telefone.split(',')
['215228', ' 218415']
O último dígito não pode ser
igual ao primeiro
telefone = “215228”
telefone[0]!=telefone[-1]
True
A soma dos dígitos tem que
ser par
telefone = “215228”
sum(int(d) for d in telefone)%2==0
True
Zip
Retorna uma lista cujos elementos são
tuplas resultantes de cada um dos
elementos de uma ou mais sequências de
entrada...
Não pode haver dois dígitos
consecutivos idênticos
telefone = “215228”
all(a!=b for a,b in zip(telefone,telefone[1:]))
#[(...
Script
Upcoming SlideShare
Loading in...5
×

Os telefones

809

Published on

Palestra relâmpago realizada no I Toró de palestras do PUG-PE (28/11)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
809
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Os telefones

  1. 1. Os Telefones Rodrigo Lira
  2. 2. Rodrigo Lira Aluno do 5º período de Engenharia da Computação na UPE. Conheci python no final de 2008. Participa dos grupos Python Poli e do PUG-PE. http://tiny.cc/rodrigolira
  3. 3. Os Telefones Na pacata campestre vila de Arquivonaoencontradoville, todos os telefones têm 6 dígitos. A companhia telefônica estabelece as seguintes regras sobre os números:
  4. 4. Não pode haver dois dígitos consecutivos idênticos, porque isso é chato. A soma dos dígitos tem que ser par, porque isso é legal. O último dígito não pode ser igual ao primeiro, porque isso dá azar.
  5. 5. Então, dadas essas regras perfeitamente razoáveis, bem projetadas e maduras, quantos números de telefone na lista abaixo são válidos? 215228, 218415, 221632, 224722, 229644, 230847, 233798, 237903, 239224, 241832, 242112, 243248, 246147, 247652, 250688, 252940, 255721, 256882, 259134, 262578, 263327, 266656, 268796, 270350, 272863, 275245, 278601, 278606, 281963, 283751, 288259, 291562, 296545, 298528, 302103, 303431, 307561, 311979, 315548, 320440, 322278, 324469, 324740, 327417, 330263, 331179, 334147, 334932, 336085, 338096, 338106, 342991, 347187, 347590, 348863, 350187, 353246, 354032, 358616, 363056, 363251, 366141, 369906, 371046, 372684, 377077, 381177, 382086, 385627, 385694, 386105, 388179, 390251, 392624, 394225, 395328, 398698, 400102, 404224, 408064, 410386, 411711, 413621, 415653, 417168, 419269, 424197, 427202, 430639, 432570, 437462, 442412, 444990, 447613, 452039, 456750, 459927, 462532, 465756, 467051, 468297, 469089, 471562, 474900, 475534, 476833, 478910, 480437, 482085, 485647, 487736, 489897, 493033, 495182, 498463, 502539, 502785, 505926, 508246, 511720, 515395, 515595, 516362, 520927, 525025, 529957, 530139, 531015, 533760, 534588, 538184, 541403, 542913, 546141, 548038, 549095, 552509, 556808, 560382, 563503, 565304, 567165, 567675, 572218, 573856, 576408, 578085, 578997, 579553, 584487, 589220, 590967, 593234, 597867, 599823, 603666, 607878, 611482, 611854, 612811, 614119, 615956, 617547, 621070, 621309, 626105, 626885, 631080, 635911, 639606, 640175, 641607, 645158, 647958, 652199, 656507, 658615, 662663, 662947, 664704, 666668, 667544, 669440, 673512, 675931, 676963, 677113, 678606, 682716, 682998, 684883, 686140, 688963, 689054, 692042, 695458, 697031, 697457, 697623, 698026
  6. 6. Filter
  7. 7. Filter Aplicação de filtro Tem como retorno uma sequência formada por todos os itens em que func(item) é True. filter(função ou None,seq) #Palíndromos filter(lambda x: x[::-1]==x,["casa","ovo","palavra","radar"]) ['ovo', 'radar']
  8. 8. Lambda Função anônima. Seu corpo deve conter apenas expressão. Não possui a instrução return. Seguem o modelo: lambda arg1,arg2,arg3,argn: expressão
  9. 9. Separar os telefones telefones = “215228, 218415” telefone.split(',') ['215228', ' 218415']
  10. 10. O último dígito não pode ser igual ao primeiro telefone = “215228” telefone[0]!=telefone[-1] True
  11. 11. A soma dos dígitos tem que ser par telefone = “215228” sum(int(d) for d in telefone)%2==0 True
  12. 12. Zip Retorna uma lista cujos elementos são tuplas resultantes de cada um dos elementos de uma ou mais sequências de entrada seq1, seq2, seqN. zip(seq1,seq2,seqn) Exemplo: zip(('a','b'),[1,2]) [('a', 1), ('b', 2)]
  13. 13. Não pode haver dois dígitos consecutivos idênticos telefone = “215228” all(a!=b for a,b in zip(telefone,telefone[1:])) #[('2', '1'), ('1', '5'), ('5', '2'), ('2', '2'), ('2', '8')] False
  14. 14. Script
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×