Skip to content

Commit

Permalink
Merge pull request #119 from jonathantvrs/notebook-entrada-e-saida
Browse files Browse the repository at this point in the history
Adiciona link para tutorial de entrada e saída e edita notebooks para py2
  • Loading branch information
thayannevls authored Mar 5, 2019
2 parents 4050f3c + a93a529 commit abf442d
Show file tree
Hide file tree
Showing 7 changed files with 313 additions and 91 deletions.
19 changes: 10 additions & 9 deletions prog1/implementacoes/tutoriais/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@ Tutoriais sobre os assuntos ensinados em Programação I e Laboratório de Progr
Para seguir a mesma ordem em que os assuntos são ensinados na disciplina, siga esse roteiro:

1. [Hello World](helloWorld.ipynb)
2. [Formatação de Strings](formatacaoDeStrings.ipynb)
3. [Estruturas de Condição](estruturasDeCondicao.ipynb)
4. [Estruturas de Repetição](estruturasDeRepeticao.ipynb)
5. [Funções](funcoes.ipynb)
6. [Listas](listas.ipynb)
7. [Matrizes](matrizes.ipynb)
8. [Algoritmos de Ordenação](algoritmosOrdenacao.ipynb)
9. [Dicionários](dicionarios.ipynb)
2. [Entrada e Saída](entradaESaida.ipynb)
3. [Formatação de Strings](formatacaoDeStrings.ipynb)
4. [Estruturas de Condição](estruturasDeCondicao.ipynb)
5. [Estruturas de Repetição](estruturasDeRepeticao.ipynb)
6. [Funções](funcoes.ipynb)
7. [Listas](listas.ipynb)
8. [Matrizes](matrizes.ipynb)
9. [Algoritmos de Ordenação](algoritmosOrdenacao.ipynb)
10. [Dicionários](dicionarios.ipynb)


## Como executar
Expand Down Expand Up @@ -61,4 +62,4 @@ cd Tamburetei/
jupyter notebook
```

Caso tenha dúvidas, abra uma issue que a gente te ajuda!
Caso tenha dúvidas, abra uma issue que a gente te ajuda!
12 changes: 6 additions & 6 deletions prog1/implementacoes/tutoriais/algoritmosOrdenacao.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
"# Início do algoritmo Bubble Sort\n",
"for i in range(len(lista)):\n",
" \n",
" print(lista)\n",
" print lista\n",
" # Imprimindo o estado atual da lista\n",
" \n",
" for j in range(len(lista) - 1, i, -1):\n",
Expand All @@ -93,7 +93,7 @@
" # Realiza a troca, caso o elemento seja maior que o outro\n",
" lista[j], lista[j - 1] = lista[j - 1], lista[j]\n",
"\n",
"print(lista)\n",
"print lista\n",
"# Imprimindo o estado final da lista (ordenada)"
]
},
Expand Down Expand Up @@ -155,7 +155,7 @@
"# Início do algoritmo Insertion Sort\n",
"for i in range(len(lista)):\n",
" \n",
" print(lista)\n",
" print lista\n",
" # Imprimindo o estado atual da lista\n",
" \n",
" j = i - 1\n",
Expand All @@ -170,7 +170,7 @@
" # Decrementa o valor de j\n",
" j -= 1\n",
"\n",
"print(lista)\n",
"print lista\n",
"# Imprimindo o estado final da lista (ordenada)"
]
},
Expand Down Expand Up @@ -230,7 +230,7 @@
"# Início do algoritmo Selection Sort\n",
"for i in range(len(lista)):\n",
" \n",
" print(lista)\n",
" print lista\n",
" # Imprimindo o estado atual da lista\n",
" \n",
" pos_menor = i # Declarando a variável que vai guardar a posição do menor valor\n",
Expand All @@ -246,7 +246,7 @@
" lista[i], lista[pos_menor] = lista[pos_menor], lista[i]\n",
" \n",
" \n",
"print(lista)\n",
"print lista\n",
"# Imprimindo o estado final da lista"
]
}
Expand Down
221 changes: 221 additions & 0 deletions prog1/implementacoes/tutoriais/entradaESaida.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Entrada e Saída de Dados \n",
"\n",
"\n",
"Este tutorial tem o objetivo de mostrar brevemente as funções nativas da linguagem Python, utilizadas para entrada e saída padrão.\n",
"\n",
"1. print\n",
"2. raw_input\n",
"3. casting (int, float, str)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Comando print\n",
"\n",
"Na versão 2 da linguagem Python, o comando responsável pela saída padrão de dados é o __print__."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Imprimindo na saida padrao\n"
]
}
],
"source": [
"print \"Imprimindo na saida padrao\""
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"O Tamburetei é top!\n"
]
}
],
"source": [
"print \"O Tamburetei é top!\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Função raw_input()\n",
"\n",
"A função __raw_input()__ é a responsável por coletar dados diretamente do teclado, que é a entrada padrão. Os dados coletados pela função vão ser transformadas em string."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"O Tamburetei é o melhor projeto do OpenDevUFCG\n",
"O Tamburetei é o melhor projeto do OpenDevUFCG\n"
]
}
],
"source": [
"# Espera por uma entrada e salva na variável mensagem\n",
"mensagem = raw_input()\n",
"# Imprime o que está em mensagem\n",
"print mensagem"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Observe que ao executar o trecho de código acima, o sistema espera que o usuário digite algo para então continuar a execução da próxima instrução.\n",
"\n",
"Ainda com a função __raw_input()__ é possível imprimir um texto na saída padrão com o objetivo de auxiliar o usuário no que ele deve digitar. Esse texto deve vir como parâmetro da função.\n",
"\n",
"```python\n",
"variavel_que_guarda_entrada = raw_input(\"Texto de Ajuda\")\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Digite seu primeiro nome: Matheus\n",
"Matheus\n"
]
}
],
"source": [
"# Imprime a string que está como parâmetro em raw_input()\n",
"# em seguida espera a entrada do teclado e guarda na variável\n",
"primeiro_nome = raw_input(\"Digite seu primeiro nome: \")\n",
"# Imprime o que está salvo em primeiro_nome\n",
"print primeiro_nome"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Funções de Casting\n",
"\n",
"Como foi mencionado anteriormente, a função raw_input (que serve como entrada padrão de dados), transforma tudo que é recebido pelo teclado em string. Considerando essa informação, como salvar um numero inteiro ou de ponto flutuante? ou imprimir na saída padrão uma string e em seguida um número? Para isso são usadas as funções de casting.\n",
"\n",
"Operação de casting é o nome que se dá para a realização de uma conversão de tipos. Do tipo string para o tipo inteiro, por exemplo. Nesse sentido, as funções mais utilizadas são:\n",
"\n",
"Nome da Função | O que faz\n",
"-------------- | ----------\n",
"str() | Realiza a conversão de um tipo em string\n",
"int() | Realiza a conversão de um tipo em inteiro\n",
"float() | Realiza a conversão de um tipo em ponto flutuante\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Realizando a conversão da string recebida da função raw_input() em inteiro:\n",
"\n",
"```python\n",
"converte_string_para_inteiro = int(raw_input(\"Digite um Número Inteiro: \"))\n",
"```\n",
"\n",
"Realizando a conversão da string recebida da função raw_input() em ponto flutuante:\n",
"\n",
"```python\n",
"converte_string_para_float = float(raw_input(\"Digite um Número em Ponto Flutuante: \"))\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A idade de Lucas: 20\n"
]
}
],
"source": [
"# Guarda um inteiro na variável idade com valor 20\n",
"idade = 20\n",
"# Converte a idade de inteiro para string, concatena com a frase e imprime\n",
"print \"A idade de Lucas: \" + str(idade)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A mesa custou 200.0\n"
]
}
],
"source": [
"# Guarda um ponto flutuante na variável preco com valor 200.00\n",
"preco = 200.00\n",
"# Converte o preco de float para string, concatena com a frase e imprime \n",
"print \"A mesa custou \" + str(preco)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
26 changes: 13 additions & 13 deletions prog1/implementacoes/tutoriais/estruturasDeCondicao.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,9 @@
],
"source": [
"if (a == 2):\n",
" print(\"É igual a 2\")\n",
" print \"É igual a 2\"\n",
"else: \n",
" print(\"Não é igual a 2\")"
" print \"Não é igual a 2\""
]
},
{
Expand All @@ -166,9 +166,9 @@
],
"source": [
"if (b == 2):\n",
" print(\"É igual a 2\")\n",
" print \"É igual a 2\"\n",
"else: \n",
" print(\"Não é igual a 2\")"
" print \"Não é igual a 2\""
]
},
{
Expand All @@ -182,7 +182,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 4,
"metadata": {},
"outputs": [
{
Expand All @@ -197,31 +197,31 @@
"idade = 40\n",
"\n",
"if(idade < 18):\n",
" print(\"É menor de idade\")\n",
" print \"É menor de idade\" \n",
"elif(idade >= 65):\n",
" print(\"É maior de idade\")\n",
" print \"É maior de idade\"\n",
"else:\n",
" print(\"Não é nem menor de idade, nem idoso\")"
" print \"Não é nem menor de idade, nem idoso\""
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"display_name": "Python 2",
"language": "python",
"name": "python3"
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.1"
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
Expand Down
Loading

0 comments on commit abf442d

Please sign in to comment.