7.8 Exercícios - Leitura De Arquivos

1.Vamos começar abrindo o arquivo “palavras.txt” no nosso script forca.py que criamos no exercício anterior. É importante já acrescentar o comando para fechá-lo para não esquecer no futuro:

def jogar():
print('\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*') print('\*\*\*Bem vindo ao jogo da Forca!\*\*\*') print('\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*')

arquivo = open(‘palavras.txt’, ‘r’) arquivo.close()

restante do código

  1. Agora vamos criar uma lista chamada palavras e fazer um laço for para acessar cada linha para guardar na lista:

arquivo = open(‘palavras.txt’, ‘r’) palavras = []

for linha in arquivo: palavras.append(linha)

arquivo.close()

  1. Como precisamos remover o \n ao final da linha, usaremos a função strip() em cada linha:
def jogar():

arquivo = open(‘palavras.txt’, ‘r’) palavras = []

for linha in arquivo: linha - linha.strip() palavras.append(linha)

arquivo.close()

7.8 EXERCÍCIOS - LEITURA DE ARQUIVOS

  1. Devemos importar a biblioteca random para gerar um número que vai de 0 até a quantidade de palavras da nossa lista. Usaremos a função len() para saber o tamanho da lista e a randrange() para gerar um número randômico de um intervalo específico:
import random
print('\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*') print('\*\*\*Bem vindo ao jogo da Forca!\*\*\*') print('\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*')

arquivo = open(‘palavras.txt’, ‘r’) palavras = []

for linha in arquivo: linha = linha.strip() palavras.append(linha)

arquivo.close()

numero = random.randrange(0, len(palavras))

  1. Agora que temos o número aleatório, vamos utilizá-lo como índice para acessar a lista e atribuir essa palavra à variável palavra_secreta:
import random
print("\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*") print("\*\*\*Bem vindo ao jogo da Forca!\*\*\*") print("\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*")

arquivo = open(“palavras.txt”, “r”) palavras = []

for linha in arquivo: linha = linha.strip() palavras.append(linha)

arquivo.close()

numero = random.randrange(0, len(palavras))

palavra_secreta = palavras[numero].upper() letras_acertadas = [’_’ for letra in palavra_secreta]

  1. Por fim, temos que deixar nossa variável letras_acertadas dinâmica, com número de letras de acordo com nossa palavra_secreta . Vamos utilizar um for dentro da lista para gerar um ’_’ para cada letra de acordo com o tamanho da palavra_secreta:

letras_acertadas = [’_’ for letra in palavra_secreta]

  1. Como já garantimos que a palavra_secreta está toda em letras maiúsculas com o código

palavras[numero].upper() , modificaremos o chute para o primeiro if continuar funcionando

chute = input(‘Qual a letra? ’) chute = chute.strip().upper()

Podemos executar o jogo e notar que a palavra é selecionada aleatoriamente!

80 7.8 EXERCÍCIOS - LEITURA DE ARQUIVOS

Mas agora a nossa função cresceu bastante, com várias funcionalidades e responsabilidades. No próximo capítulo organizaremos melhor o nosso código, separando-o em funções e deixando-o mais fácil de entender.‌‌


⬅️ Capítulo Anterior | Próximo Capítulo ➡️