Jump to content

Qual é o meu erro nesse código de Python?


Miguel Tikao Matsumoto

Postagens Recomendadas

Problema
A professora do Ensino Fundamental gostou tanto do programa que você fez para o problema Soletrando que pediu para você fazer uma nova versão!
Ela quer que, em caso de erro em uma tentativa de soletrar a palavra, as crianças possam realizar novas tentativa elas mesmas! Para isso, vocês combinaram com as crianças que elas podem tentar quantas vezes quiserem, e que:
- quando elas acertarem, o programa imprime 8-) e termina
- quando elas errarem, o programa imprime 8-| e elas podem tentar a mesma palavra outra vez
Entrada
- Primeira linha: uma palavra simples (sem espaços)
- Linhas seguintes: uma letra por linha, terminadas com ponto.
- Se as letras corresponderem corretamente à palavra da primeira linha, seu programa imprime 8-) e termina
- Caso contrário,  seu programa imprime 8-| e lê um novo conjunto de linhas terminado por ponto.
Saída
- uma sequencia de zero ou mais linhas com 8-|
- ultima linha: 8-)


Samples Input    


humano
u
m
a
n
u
.
u
m
a
n
o
.
h
u
m
a
n
u
.
h
u
m
a
n
o
.

Samples Output


8-|
8-|
8-|
8-)

 

 

Samples Input  


lixo
l
i
x
o
.

Samples Output


8-)

 

 

Samples Input  


hora
o
r
a
.
h
o
r
a

Samples Output
.
8-|
8-)

 

Samples Input  


moeda
m
u
e
d
a
.
m
o
e
d
a
.

Samples Output


8-|
8-)

 

 

 

 

 

 

Meu código:

a = input()
b = False
contador = ''
errado = 0
c = ''
while b == False:
  c = input()
  if c == '.':
    if contador == a:
      b == True
    else:
      b == False
      errado = errado + 1
  else:
    contador = contador + c
for erro in range(errado):
  print('8-|')
print('8-)')
Editado por Miguel Tikao Matsumoto
Link to comment
Compartilhe em outros sites

Olá Miguel, eu acabei vou ser sincero com você, sou iniciante assim como você mais percebi alguns erros denecessários no seu código, então acabei reformulando outro, veja se você achou util 8-) kkk:

 

palavra = input('Digite a palavra: ')
fim_game = False
conjunto = []
a = 0


while not fim_game:
    
    # transforma o valor da lista em string e verifica se é igual a palavra, se for encerra o game
    if ''.join(conjunto) == palavra:
        print('8-)')
        fim_game = True
        break
    
    # pergunta as letras
    letras = input('').lower()

    # se a letra digitada for igual ao primeiro valor da variavel palavra, se for o valor"a" vai somando + 1 até que o codiogo da linha de cima for ativado
    if letras == palavra[a]:
        conjunto.append(letras)
        a += 1
        
    # quase a mesma coisa do codigo acima oque muda é que Se letras for diferente do valor, ai o codigo abaixo roda e recomeça o game
    elif letras != palavra[a]:
        print('8-|')
        a = 0 

    

 

Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...