From 608d20d5d7c11478a0a89303679b2c852221f389 Mon Sep 17 00:00:00 2001 From: tulio-albuquerque Date: Sun, 30 Mar 2014 23:47:06 -0300 Subject: [PATCH] segundo coding dojo --- .gitattributes | 22 +++++ .gitignore | 215 +++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 42 ++++++++++ spock.py | 36 +++++++++ test.py | 35 ++++++++ 5 files changed, 350 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 spock.py create mode 100644 test.py diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..412eeda --- /dev/null +++ b/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b9d6bd9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,215 @@ +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +build/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +#packages/ + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +############# +## Windows detritus +############# + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac crap +.DS_Store + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist/ +build/ +eggs/ +parts/ +var/ +sdist/ +develop-eggs/ +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg diff --git a/README.md b/README.md new file mode 100644 index 0000000..a5292f7 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +segundo-coding-dojo +==================== + +## 2º coding dojo realizado na unicap - 29/03/2014 + +* linguagem: python +* numero de participantes: 8 +* problemas escolhido: [Rock-Paper-Scissors-Lizard-Spock](http://en.wikipedia.org/wiki/Rock-paper-scissors-lizard-Spock) + +## Retrospectiva + +Pros: + + * A aula foi bem dinâmica, onde todos puderam interagir + * muito bom !!! + * bastante divertido !!! + * Otima iniciativa, Pensamento em grupo é uma boa estratégia de treino para o desenvolviemto em grupo + * Apredizado de uma nova linguagem + * Muito bom ! Fazia tempo que não programava em python. Acho que vou voltar a programar nela + * Expreriência enorme foi passada + * Todos participaram + * Resolvemos o problema + * Quantidade boa de pessoas + * Participação do grupo + * Resolução do problema se desenrolou de forma agradavel + * Sala + Projetor + * Experiencia foi muito boa, a galera interagiu bastante + +Contras: + * Projetor da Unicap com defeito + * Os equpamentos da Unicap tão meio velhos + * Projetor falhou + * Quebra de baby steps - muito cedo a solução do Rash + * Faltou comida | Pode ? + Faltou coca | + * Quebra das regras, falaram no vermelho + * Divugação, criar um meio do comunicação que tenha maior divulgação + + ## Agracimentos + + - A Marcio Bueno por ter contribuido conseguindo a sala junto com o projetor + - A todos os participantes \ No newline at end of file diff --git a/spock.py b/spock.py new file mode 100644 index 0000000..dbe6ab8 --- /dev/null +++ b/spock.py @@ -0,0 +1,36 @@ + +def resultado(mao1,mao2): + hashTable={'Pedra':['Tesoura','Largato'],'Papel':['Pedra','Spock'], 'Tesoura':['Papel', 'Largato']} + play1 = 1 + play2 = 2 + empate = 0 + print('Mao1 :'+ mao1 + '\n' + 'Mao2: '+ + mao2) + + + if(mao1 == mao2): + return empate + + + + elif(mao1 == 'Pedra' and mao2 in hashTable[mao1]): + return play1 + elif(mao1 == 'Pedra' and mao2 not in hashTable[mao1]): + return play2 + elif(mao1 == 'Papel' and mao2 in hashTable[mao1]): + return play1 + elif(mao1 == 'Papel' and mao2 not in hashTable[mao1]): + return play2 + elif(mao1 == 'Tesoura' and mao2 in hashTable[mao1]): + return play1 + elif(mao1 == 'Tesoura' and mao2 not in hashTable[mao1]): + return play2 + +''' + elif(mao1 == 'Papel' and mao2 == 'Tesoura'): + return play2 + elif(mao1 == 'Papel' and mao2 == 'Spock'): + return play1 + elif(mao1 == 'Papel' and mao2 == 'Lagarto'): + return play2 +''' diff --git a/test.py b/test.py new file mode 100644 index 0000000..5f0b216 --- /dev/null +++ b/test.py @@ -0,0 +1,35 @@ +# coding: utf-8 + +import unittest + +from spock import resultado + + +class Test(unittest.TestCase): + #def test(self): + # self.assertEqual( nome_funcao , retorno ) + + def test_spock(self): + self.assertEqual(resultado("Pedra", "Pedra"), 0) + def test_pedra_papel(self): + self.assertEqual(resultado("Pedra", "Papel"), 2) + def test_pedra_tesoura(self): + self.assertEqual(resultado("Pedra", "Tesoura"), 1) + def test_pedra_spock(self): + self.assertEqual(resultado("Pedra", "Spock"), 2 ) + def teste_pedra_Largato(self): + self.assertEqual(resultado("Pedra", "Largato"), 1) + def test_papel_tesoura(self): + self.assertEqual(resultado("Papel", "Tesoura"), 2) + def test_papel_spock(self): + self.assertEqual(resultado("Papel", "Spock"),1) + def test_papel_lagarto(self): + self.assertEqual(resultado("Papel", "Lagarto"),2) + def test_papel_papel(self): + self.assertEqual(resultado("Papel", "Papel"),0) + def test_tesoura_papel(self): + self.assertEqual(resultado("Tesoura","Papel"),1) + + +if __name__ == '__main__': + unittest.main()