![Page 1: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/1.jpg)
MC102 - Algoritmos e Programação de Computadores
Turma Z - Segundo Semestre de 2019
![Page 2: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/2.jpg)
A partir desse slide, utilizaremos o material desenvolvido pela professora Sandra Avila e disponível em http://www.ic.unicamp.br/~sandra/
![Page 3: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/3.jpg)
Agenda
● Strings
○ Operações
○ Funções
○ Métodos
● Exercıcios
![Page 4: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/4.jpg)
Strings
● Strings em Python são listas imutáveis de caracteres.
● Strings são representadas por sequências de caracteres entre aspas simples ' ou entre aspas duplas ".
a = "26 de Abril tem prova."a'26 de Abril tem prova.'b = 'Fizeram a atividade conceitual?'b'Fizeram a atividade conceitual?'c = "Que vida \"fácil\""c'Que vida "fácil"'
![Page 5: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/5.jpg)
Strings
● Strings em Python são listas imutáveis, portanto pode-se acessar posições de uma string de forma usual.
--------------------------------------------------------TypeError Traceback (most recent call last)<ipython-input-13-9ab1dda42293> in <module>()----> 1 a[0] = "1"
TypeError: 'str' object does not support item assignment
a = "26 de Abril tem prova."a[0]'2'a[0] = "1"
![Page 6: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/6.jpg)
Strings
● O caractere '\n' pode fazer parte de uma string e ele só causa a mudança de linha no comando print.
a = 'Fizeram\na\natividade\nconceitual?'a'Fizeram\na\natividade\nconceitual?'
a = 'Fizeram\na\natividade\nconceitual?'print(a)Fizeramaatividadeconceitual?
![Page 7: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/7.jpg)
Strings: Operações, Funções e Métodos
● O operador + concatena 2 strings, e o operador * repete a concatenação (como em listas).
a = "26 de Abril tem prova."b = 'Fizeram a atividade conceitual?'a + b'26 de Abril tem prova.Fizeram a atividade conceitual?'
b = 'Fizeram a atividade conceitual?\n'print(3*b)Fizeram a atividade conceitual?Fizeram a atividade conceitual?Fizeram a atividade conceitual?
![Page 8: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/8.jpg)
Strings como Listas
● Strings podem ser processadas como listas, podendo por exemplo ter seus elementos percorridos num laço for.
● Exemplo: Ler uma string e imprimir a inversa.
string = input("Digite um texto: ")inversa = " "for x in string:
inversa = x + inversaprint(inversa)
![Page 9: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/9.jpg)
Strings: Operações, Funções e Métodos
● A função slice (fatiar) devolve a string entre duas posições dadas.
● Pode-se fatiar (slice) strings usando [inicio:fim-1:passo].
● A string vazia é representada como ' ' ou " ".
a = "20 de Abril tem prova."a[6:11]'Abril'a[6:11:2]'Arl'a[::-1]'.avorp met lirbA ed 02'
![Page 10: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/10.jpg)
Strings: Operações, Funções e Métodos
● O método strip retorna uma string sem os brancos e mudança de linhas no início e no final de uma string.
b = "Fizeram a atividade conceitual?"b'\n Fizeram a atividade conceitual? \n'
b.strip()'Fizeram a atividade conceitual?'
![Page 11: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/11.jpg)
Strings: Operações, Funções e Métodos
● O operador in verifica se uma substring é parte de uma outra string.
"atividade" in "Fizeram a atividade conceitual?"True
"idade" in "Fizeram a atividade conceitual?"True
"Abril" in "Fizeram a atividade conceitual?"False
![Page 12: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/12.jpg)
Strings: Operações, Funções e Métodos
● O método find retorna onde a substring começa na string.
● O método find retorna -1 quando a substring não ocorre na string.
a = "Fizeram a atividade conceitual?"a.find("atividade")10
a.find("abril")-1
![Page 13: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/13.jpg)
Strings: Operações, Funções e Métodos
● O método split(sep) separa uma string usando sep como separador. Retorna uma lista das substrings.
● Podem haver substrings vazias no retorno de split().
numeros = "1; 2 ; 3"numeros.split(";")['1', ' 2 ', ' 3']
a = "Fizeram a atividade conceitual?"a.split()['Fizeram', 'a', 'atividade', 'conceitual?']
![Page 14: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/14.jpg)
Strings: Operações, Funções e Métodos
● O método replace serve para trocar todas as ocorrências de uma substring por outra em uma string.
a = "Fizeram a atividade conceitual?"a.replace("conceitual","teórica")'Fizeram a atividade teórica?'
a = "Fizeram a atividade conceitual?"a.replace("conceitual","")'Fizeram a atividade ?'
![Page 15: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/15.jpg)
Strings: Operações, Funções e Métodos
● Podemos usar a função list para transformar uma string em uma lista onde os itens da lista correspondem aos caracteres da string.
numeros = "1; 2 ; 3"list(numeros)['1', ';', ' ', '2', ' ', ';', ' ', ' ', '3']
list("atividade")['a', 't', 'i', 'v', 'i', 'd', 'a', 'd', 'e']
![Page 16: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/16.jpg)
Strings: Operações, Funções e Métodos
● O método join recebe como parâmetro uma sequência ou lista, e retorna uma string com a concatenação dos elementos da sequência/lista.
l = list("atividade")l['a', 't', 'i', 'v', 'i', 'd', 'a', 'd', 'e']
"".join(l)'atividade'
![Page 17: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/17.jpg)
Exercícios
![Page 18: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/18.jpg)
Exemplo: Contador de Palavras
● Faça um programa que conta o número de palavras em um texto.
![Page 19: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/19.jpg)
Exemplo: Contador de Palavras
● Faça um programa que conta o número de palavras em um texto.
○ Primeiramente removemos do texto todos os sinais de pontuação.
○ Depois usamos a função split para separar as palavras.
texto = input("Digite um texto: ")pontuacao = [".", ",", ":", ";", "!", "?"]
# remove os sinais de pontuaçãofor p in pontuacao:
texto = texto.replace(p," ")
![Page 20: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/20.jpg)
Exemplo: Contador de Palavras
● Faça um programa que conta o número de palavras em um texto.
○ Depois usamos a função split para separar as palavras.
texto = input("Digite um texto: ")pontuacao = [".", ",", ":", ";", "!", "?"]
# remove os sinais de pontuaçãofor p in pontuacao:
texto = texto.replace(p," ")
# split devolve lista com palavras como itensnumero_palavras = len(texto.split()) print("Número de palavras:", numero_palavras)
![Page 21: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/21.jpg)
Exercício: Palíndromo
● Faça um programa que lê uma string e imprime “Palíndromo” caso a string seja um palíndromo e “Não é palíndromo” caso não seja.
○ Assuma que a entrada não tem acentos e que todas as letras são minúsculas.
● Obs: Um palíndromo é uma palavra ou frase, que é igual quando lida da esquerda para a direita ou da direita para a esquerda (espaços em brancos são descartados).
○ Exemplos de palíndromo: “ovo”, “reviver”, “mega bobagem”, “anotaram a data da maratona”
![Page 22: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/22.jpg)
Exercício: Palíndromo
● Faça um programa que lê uma string e imprime “Palíndromo” caso a string seja um palíndromo e “Não é palíndromo” caso não seja.
Entrada Saída
ovo Palíndromo
Entrada Saída
anotaram a data da maratona Palíndromo
Entrada Saída
prova Não é palíndromo
18
![Page 23: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/23.jpg)
Exercício: Palíndromo
texto = input("Digite um texto: ")
# inverte a stringtexto_inverso = texto[::-1]
# remove os espaços em brancotexto = texto.replace(" ","")texto_inverso = texto_inverso.replace(" ","")
# verifica se texto é igual ao texto_inversoif (texto == texto_inverso):
print("Palíndromo")else:
print("Não é palíndromo")
19
![Page 24: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/24.jpg)
Exercício: Palíndromo
texto = input("Digite um texto: ")
# remove os espaços em brancotexto = texto.replace(" ","")texto_inverso = texto_inverso.replace(" ","")
# inverte a stringtexto_inverso = texto[::-1]
# verifica se texto é igual ao texto_inversoif (texto == texto_inverso):
print("Palíndromo")else:
print("Não é palíndromo")
20
![Page 25: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/25.jpg)
Exercício: Palíndromo
● Faça uma nova versão que aceita como palíndromo mesmo que as letras correspondentes sejam maiúsculas e minúsculas.
○ Exemplo: “Ovo”, “Anotaram a Data da Maratona” devem ser também palíndromo.
21
![Page 26: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/26.jpg)
Exercício: Palíndromo
texto = input("Digite um texto: ")
# inverte a stringtexto_inverso = texto[::-1]
# remove os espaços em brancotexto = texto.replace(" ","")texto_inverso = texto_inverso.replace(" ","")
# verifica se texto é igual ao texto_inversoif (texto.lower() == texto_inverso.lower()):
print("Palíndromo")else:
print("Não é palíndromo")
texto = input("Digite um texto: ")
# inverte a stringtexto_inverso = texto[::-1]
# remove os espaços em brancotexto = texto.replace(" ","")texto_inverso = texto_inverso.replace(" ","")
# verifica se texto é igual ao texto_inversoif (texto.lower() == texto_inverso.lower()):
print("Palíndromo")else:
print("Não é palíndromo")
22
![Page 27: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/27.jpg)
Exercício: Palíndromo
texto = input("Digite um texto: ")
# inverte a stringtexto_inverso = texto[::-1]
# remove os espaços em brancotexto = texto.replace(" ","")texto_inverso = texto_inverso.replace(" ","")
# verifica se texto é igual ao texto_inversoif (texto.lower() == texto_inverso.lower()):
print("Palíndromo")else:
print("Não é palíndromo")
texto = input("Digite um texto: ")
# inverte a stringtexto_inverso = texto[::-1]
# remove os espaços em brancotexto = texto.replace(" ","")texto_inverso = texto_inverso.replace(" ","")
# verifica se texto é igual ao texto_inversoif (texto.lower() == texto_inverso.lower()):
print("Palíndromo")else:
print("Não é palíndromo")
23
![Page 28: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/28.jpg)
Strings: ResumoMétodo Parâmetros Descrição
strip nenhum Retorna uma string removendo caracteres em branco do início e do fim. Ex: a.strip()
find substring Retorna o índice onde a substring começa na string. Ex: a.find("texto")
split nenhum Separa uma string usando sep como separador e retorna uma lista das substrings. Ex: a.split()
replace substring1, substring2
Substitui todas as ocorrências de uma substring por outra. Ex: a.replace("prova","teste")
list substring Transforma uma string em uma lista onde os itens da lista correspondem aos caracteres da string. Ex: list("texto") ou list(a)
join substring Retorna uma string com a concatenação dos elementos da sequência/lista. Ex: "".join(a)
count substring Retorna o número de ocorrências de uma substring. Ex: a.count("as")
upper nenhum Retorna uma string toda em maiúsculas. Ex: a.upper()
lower nenhum Retorna uma string toda em minúsculas. Ex: a.lower() 14
![Page 29: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/29.jpg)
Exemplos & Exercícios
![Page 30: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/30.jpg)
Exemplo: Conta espaços e vogais
● Faça um programa que conta espaços e vogais. Dado um texto (sem acento) informado pelo usuário, conte:
○ Quantos espaços em branco existem no texto.○ Quantas vezes aparecem as vogais a, e, i, o, u.
Entrada Saída
24 de Abril tem revisao para a prova
espaços: 7 a: 6 e: 3 i: 2 o: 2 u: 0
24
![Page 31: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/31.jpg)
Exemplo: Conta espaços e vogais
texto = input("Digite um texto: ")
# conta espaços em branconumero_espacos = texto.count(" ")print("espaços:", numero_espacos)
# conta vogaisvogal_a = texto.lower().count("a")vogal_e = texto.lower().count("e")vogal_i = texto.lower().count("i")vogal_o = texto.lower().count("o")vogal_u = texto.lower().count("u")print("a:", vogal_a, "e:", vogal_e, "i:", vogal_i, "o:",
vogal_o, "u:", vogal_u)
Solução 1
25
![Page 32: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/32.jpg)
Exemplo: Conta espaços e vogais
texto = input("Digite um texto: ")
# conta espaços em branconumero_espacos = texto.count(" ")print("espaços:", numero_espacos)
# conta vogaisvogais = ["a", "e", "i", "o", "u"]for v in vogais:
numero_vogais = texto.lower().count(v)print(str(v) + ": " + str(numero_vogais), end=" ")
Solução 2
26
![Page 33: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/33.jpg)
Exemplo: Conta espaços e vogais
texto = input("Digite um texto: ")
# conta espaços em branconumero_espacos = texto.count(" ")print("espaços:", texto.count(" "))
# conta vogaisvogais = ["a", "e", "i", "o", "u"]for v in vogais:
numero_vogais = texto.lower().count(v)print(str(v) + ": " + str(texto.lower().count(v)), end=" ")
Solução 3
27
![Page 34: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/34.jpg)
Exemplo: Conta espaços e vogais
texto = input("Digite um texto: ")
# conta espaços em brancoprint("espaços:", texto.count(" "))
# conta vogaisvogais = ["a", "e", "i", "o", "u"]for v in vogais:
print(str(v) + ": " + str(texto.lower().count(v)), end=" ")
Solução 3
28
![Page 35: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/35.jpg)
Exemplo: Conta espaços e vogais
texto = input("Digite um texto: ")
# conta espaços em brancoprint("espaços:", texto.count(" "))
# conta vogaisvogais = ["a", "e", "i", "o", "u"]for v in vogais:
print(v, ":", texto.lower().count(v), end=" ")
Solução 3.1
29
![Page 36: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/36.jpg)
Exercício: Data por extenso
● Faça um programa que solicite a data de nascimento (dd/mm/aaaa) do usuário e imprima a data com o nome do mês por extenso.
Entrada Saída
16/12/1982 16 de dezembro de 1982
30
![Page 37: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/37.jpg)
Exercício: Crime
● Utilizando listas, faça um programa que faça 5 perguntas para uma pessoa sobre um crime. As perguntas são:○ “Telefonou para a vítima?”○ “Esteve no local do crime?”○ “Mora perto da vítima?”○ “Devia para a vítima?”○ “Já trabalhou com a vítima?”
● Se a pessoa responder positivamente a 2 questões ela deve ser classificada como “Suspeita”, entre 3 e 4 como “Cúmplice” e 5 como “Assassino”. Caso contrário, ele será classificado como “Inocente”. 31
![Page 38: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/38.jpg)
res = []res.append(input("Telefonou para a vítima? 1/Sim ou 0/Não: "))res.append(input("Esteve no local do crime? 1/Sim ou 0/Não: "))res.append(input("Mora perto da vítima? 1/Sim ou 0/Não: "))res.append(input("Devia para a vítima? 1/Sim ou 0/Não: "))res.append(input("Já trabalhou com a vítima? 1/Sim ou 0/Não: "))
soma_respostas = 0for i in res: # soma o número de respostas
soma_respostas += int(i)
if (soma_respostas < 2): print("Inocente")elif (soma_respostas == 2): print("Suspeita")elif (3 <= soma_respostas <= 4): print("Cúmplice")else: print("Assassino")
Complete o programa ...
Solução 132
![Page 39: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/39.jpg)
lista_perguntas = ["Telefonou para a vítima? 1/Sim ou 0/Não: ","Esteve no local do crime? 1/Sim ou 0/Não: ","Mora perto da vítima? 1/Sim ou 0/Não: ","Devia para a vítima? 1/Sim ou 0/Não: ","Já trabalhou com a vítima? 1/Sim ou 0/Não: "]
res = []soma_respostas = 0for i in range(len(lista_perguntas)):
print(lista_perguntas[i]) res.append(input()) # adiciona as respostas na lista ressoma_respostas += int(res[i]) # soma o número de respostas
status = ["Inocente","Suspeita","Cúmplice","Cúmplice","Assassino"]if soma_respostas < 2:
print(status[0]) else:
print(status[soma_respostas-1])
Complete o programa ...
Solução 233
![Page 40: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/40.jpg)
# Essa solução não utiliza listasres1 = int(input("Telefonou para a vítima? 1/Sim ou 0/Não: "))res2 = int(input("Esteve no local do crime? 1/Sim ou 0/Não: "))res3 = int(input("Mora perto da vítima? 1/Sim ou 0/Não: "))res4 = int(input("Devia para a vítima? 1/Sim ou 0/Não: "))res5 = int(input("Já trabalhou com a vítima? 1/Sim ou 0/Não: "))
# soma o número de respostassoma_respostas = res1 + res2 + res3 + res4 + res5
if (soma_respostas < 2): print("\nInocente")elif (soma_respostas == 2): print("\nSuspeita")elif (3 <= soma_respostas <= 4): print("\nCúmplice")elif (soma_respostas == 5): print("\nAssassino")
Complete o programa ...
Solução 334
![Page 41: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/41.jpg)
Desafio: Jogo da Forca
● Faça um jogo da forca. O programa terá uma lista de palavras lidas de um arquivo texto e escolherá uma aleatoriamente. O jogador poderá errar 6 vezes antes de ser enforcado.
Digite uma letra: a-> Você errou pela 1a vez. Tente de novo!
Digite uma letra: oA palavra é: _ _ _ _ o
Digite uma letra: eA palavra é: _ e _ _ o
Digite uma letra: s-> Você errou pela 2a vez. Tente de novo! 35
![Page 42: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/42.jpg)
import random # importa o módulo randompalavras = input("Digite as palavras: ")palavras = palavras.split(" ")
# pega um número aleatoriamente entre 0 e número de palavrasuma_palavra = palavras[random.randrange(0,len(palavras))] palavra_forca = ["_" for i in uma_palavra]
chance = 1while (chance < 7 and palavra_forca.count("_") != 0):
letra = input("Digite uma letra: ")if (letra in uma_palavra): # verifica se a palavra tem a letra digitada print("A palavra é: ", end=" ")
for p in range(len(uma_palavra)):if letra == uma_palavra[p]:
del palavra_forca[p]palavra_forca.insert(p,letra)
print(" ".join(palavra_forca))else:
print("-> Você errou pela " + str(chance) + "a vez. Tente de novo!")chance = chance + 1
if palavra_forca.count("_") == 0:print("Parabéns! Você acertou a palavra.")
else:print("Forca! Fim de jogo.")
Complete o programa ...
36
![Page 43: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Aula 9.pdf · Exemplo: Contador de Palavras Faça um programa que conta o nú mero de palavras em um texto. Primeiramente](https://reader033.vdocuments.com.br/reader033/viewer/2022043009/5f9dd4ab9e2d7a2c260bafa6/html5/thumbnails/43.jpg)
Referências & Exercícios
● https://wiki.python.org.br/ExerciciosComStrings: 14 exercícios =)● https://wiki.python.org.br/ExerciciosListas: 24 exercícios =)
● https://panda.ime.usp.br/pensepy/static/pensepy/08-Strings/strings.html● https://panda.ime.usp.br/pensepy/static/pensepy/09-Listas/listas.html
37