Ir ao conteúdo
  • Cadastre-se

Bruna Ferreia

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

3
  1. Gente, como eu posso melhorar a lógica da minha máquina? (JogadaAI) visto que toda vez que ela vai jogar ela só marca em lugares disponíveis e aleatórios… raramente faz uma vitória… import random import sys import os def restart_program(): python = sys.executable os.execl(python, python, * sys.argv) tab = [0, 1, 2, 3, 4, 5, 6, 7, 8] def desenhar(): print(tab[0], '|', tab[1], '|', tab[2]) print('-' * 9) print(tab[3], '|', tab[4], '|', tab[5]) print('-' * 9) print(tab[6], '|', tab[7], '|', tab[8]) def jogadaHumano(): while True: posicao = input('Escolha a posição:') n = int(posicao) if(tab[n] == 'X' or tab[n] == 'O'): print('Posiçao inválida') continue else: break tab[n] = 'O' def jogadaAI(): print('Jogada da AI') opcoesValidas = [] for i in range(0, 8): if(tab[i] != 'X' and tab[i] != 'O'): opcoesValidas.append(i) opcao = random.choice(opcoesValidas) tab[opcao] = 'X' def ganhou(turno): if( # Avaliando as linhas (tab[0] == turno and tab[1] == turno and tab[2] == turno) or (tab[3] == turno and tab[4] == turno and tab[5] == turno) or (tab[6] == turno and tab[7] == turno and tab[8] == turno) or # Avaliando as colunas (tab[0] == turno and tab[3] == turno and tab[6] == turno) or (tab[1] == turno and tab[4] == turno and tab[7] == turno) or (tab[2] == turno and tab[5] == turno and tab[8] == turno) or # Avaliando as diagonais (tab[0] == turno and tab[4] == turno and tab[8] == turno) or (tab[2] == turno and tab[4] == turno and tab[6] == turno) ): return True else: return False desenhar() turnoHumano = True for i in range(0, 9): if turnoHumano: jogadaHumano() if(ganhou('O')): desenhar() print('Jogador Humano ganhou') jogardnv = input("Deseja jogar novamente? Se sim responda 's' ou nao responda 'n'") if jogardnv == "s": restart_program() else: break else: jogadaAI() if(ganhou('X')): desenhar() print('AI ganhou') jogardnv = input("Deseja jogar novamente? Se sim responda 's' ou nao responda 'n'") if jogardnv == "s": restart_program() else: break desenhar() turnoHumano = not turnoHumano if(i == 8): print('Deu velha') print('Fim do jogo.') jogardnv = input("Deseja jogar novamente? Se sim responda 's' ou nao responda 'n'") if jogardnv == "s": print ("carregando jogo...") restart_program() else: break
  2. Galera, sei que a matriz teria que ser [30][24], porém nao tenho ideia de como armazenar o compromisso nos dois vetores… alguem me da uma ideia de como desenvolver esse exercicio? Faça um programa para armazenar em uma matriz os compromissos de uma agenda pessoal. Cada dia do mês deve conter 24 horas, onde para cada uma destas 24 horas podemos associar um tarefa específica (compromisso agendado). O programa deve ter um menu onde o usuário indica o dia do mês que deseja alterar e a hora, entrando em seguida com o compromisso, ou então, o usuário pode também consultar a agenda, fornecendo o dia e a hora para obter o compromisso armazenado.
  3. @Vinicios_10 Ai que ta ,como posso fazer o calculo com letra? Eu nao quero que façam o programa pra mim,eu pedi alguma dica de como posso somar essas letras.
  4. Gente eu realmente não sei por onde começar,como posso resolver esse problema? Se alguém conseguir me dar dicas de como fazer,eu gradeceria. FAZER um programa completo para tratar o problema descrito abaixo: Três amigos resolveram comemorar o aniversário de um deles em um boteco. Combinaram em "ratear" a conta dos tira-gostos consumidos entre todos, pagar seu próprio consumo de bebidas e metade do que for consumido pelo aniversariante. Se a conta for apresentada na forma abaixo (com possíveis repetições e fora de ordem): 0 tira gosto R$ww,ww 1 bebida R$xx,xx // para o primeiro (aniversariante) 2 bebida R$yy,yy //para o segundo 3 bebida R$zz,zz //para o terceiro Calcular e mostrar a parte que caberá a cada um pagar,para quitarem a conta. int main() { double tiragosto = "ww,ww"; double bebida1 = "xx,xx"; // double bebida2 = yy,yy; // double bebida3 = zz,zz; double calculo = 0.0; double amigo1A = 0.0; double amigo2 = 0.0; double amigo3 = 0.0; calculo = (tiragosto/bebida1); printf("resu: %lf",calculo); IO_pause ( "Apertar ENTER para continuar." ); } seria dessa maneira?
  5. Oi gente,eu empaquei nesse exercicio da facu: FAZER um programa com um método ( exercicio06 ) para: ler dois valores inteiros (a) e (b) do teclado, ler outros valores inteiros do teclado, um por vez, até que o último valor seja igual a (-1). para todos os valores no intervalo aberto ]a:b[; calcular e mostrar a soma dos quadrados dos inversos (1/x2 ). DICA: Evitar divisão por zero mediante uso de alternativa dupla. A minha entrada é essa,porém ao compilar quando chega no -1,ele ja termina: a minha entrada e saida é essa,porém a saida,ja esta terminando o programa,nao continua.. Se alguem puder ajudar em alguma coisa,nem sei se esta correto da forma que fiz o calculo também… Preciso de alguma ajuda, valeu galera.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...