Caderno Python + Jupyter: saiba como criar um aplicativo de pulso de disparo falante | Ore Apampa | Skillshare
Pesquisar

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Caderno Python + Jupyter: saiba como criar um aplicativo de pulso de disparo falante

teacher avatar Ore Apampa

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Apresentação

      0:23

    • 2.

      Crie arquivos de áudio

      3:53

    • 3.

      Ambiente Python

      2:20

    • 4.

      Crie o Python no caderno Juyter

      27:09

    • 5.

      Crie a interface e o teste de usuário

      2:25

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

33

Estudantes

--

Projeto

Sobre este curso

Você vai aprender a criar um aplicativo de relógio de fala usando Python e, em particular, o módulo de cadernos do Jupyter dentro dele. Este é um tutorial de nível intermediário. No entanto, se você é um iniciante, você pode seguir copiando as etapas exatamente como eu os faço. Tenha um ótimo aprendizado! Deixe-me saber se você tem alguma dúvida e/ou se você se deparar com algum problema.

Isso faria um projeto de fim de semana legal. para qualquer pessoa que queira construir suas habilidades de python. Você também pode usar isso como inspiração para criar sua própria aplicação e combinar suas próprias habilidades e ideias únicas.

Requisitos de habilidade:

- Alguma familiaridade com a codificação em Python.

Conheça seu professor

Teacher Profile Image

Ore Apampa

Professor
Level: Intermediate

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. 01 INTRODUÇÃO: Oi lá. Está tudo bem, Tampa aqui. E hoje vou mostrar como criar um relógio falante usando Python. A hora é agora 629. 2. 02 Como criar arquivos de áudio: A única coisa que precisamos fazer é gravar os arquivos de áudio com sua voz que farão a voz do relógio falante. Agora, vamos usar um programa chamado audacity para download gratuito. Você pode pesquisar on-line para obter uma cópia dele. Mas depois salvaremos os arquivos como arquivos MP3. Vamos gravar algumas coisas. A primeira é a hora agora e a próxima está contando de 0 a 59. Em vez de 0, vamos dizer, oh, e para cada número parecer mais natural, vamos gravar duas versões de cada número, uma com uma inflexão para cima. Inflexão. Então, por exemplo, a hora agora é 154615 tem uma inflexão para cima. 1546 como a inflexão para baixo, 46. Aqui está o que vai parecer. A hora é agora 00:11:23. Três. Vamos fazer isso até 59. E depois salvaremos cada arquivo separadamente. Agora, no Audacity, para salvar cada arquivo separadamente depois gravá-lo em uma faixa, o que você pode fazer é criar rótulos de faixa. Então, vou selecionar isso. Esta seria a hora agora, vamos jogar isso. tempo agora é ótimo agora que jogamos fora e sabemos o que é. Então, o que eu vou fazer é ir para o menu Editar e clicar em Rótulos e, em seguida, adicionar rótulo a essa seleção. O atalho em um Mac é o Comando B em um Windows, eu suspeito que será o Controle B. Eu só vou clicar nele por enquanto. Nós podemos dar um nome a isso. Então, vamos chamar isso, a hora agora é que vamos colocar sublinhados em vez de espaços. Ok? E então vamos fazer isso para cada um. Para os números. Vou ligar para isso. Então, vou pressionar o Comando B, e vou chamá-los para cima ou para baixo, colocar um sufixo de cima ou de baixo no final dele. E para os números vou colocar 01 só para facilitar a numeração das coisas. 01. Então começamos com, começamos com 0, na verdade. Então eu coloquei 00 e coloquei e depois faço o mesmo aqui. Aqui está 0. Para baixo. Aqui. 01 sublinhado para cima. Comando seja 01 sublinhado para baixo. Eles fazem isso para todos os arquivos que sobraram. Então, sabemos que isso é dois acima. Você entendeu a ideia. Certo, assim que tivermos isso, ele não precisou salvá-lo. Como forma de salvar, isso seria ir para File Export. Em seguida, clique em Exportar vários. Aqui você precisa escolher onde salvar o arquivo, salve-o aqui. A qualidade da fonte, 192 k bps, é muito boa. Mas se você não quiser que ele ocupe muito espaço, você pode diminuir. Isso talvez seja 128 e ainda seja de qualidade boa o suficiente. Em seguida, certifique-se de que está selecionado para rotular o que, o que vai acontecer é salvar cada arquivo como o ponto de tempo mp3. Então, quando você clica em exportar, o resgate, se você quiser chamar os arquivos de qualquer coisa, eu tenho esses definidos por padrão, mas você não precisa salvá-lo como o nome da faixa, que será o nome do arquivo. Então você só pressiona OK. Você faz isso para todos os arquivos. E então ele diz onde está salvo. E lá vai você. Você tem os arquivos de áudio prontos para você começar. 3. 03 ambiente de Python: Ok, então nesta etapa, o que vamos fazer é criar o ambiente Python. A primeira coisa que você precisa fazer é abrir um terminal no Mac e no Windows, será sua linha de comando. Então, aqui eu vou para a barra de pesquisa e digito o terminal. E clique em Enter para abrir o terminal. Então, vou expandir isso para que você possa ver isso claramente. Então eu vou aumentar o tamanho do texto para fazer isso no Mac, aumentando o tamanho do texto, quero dizer, você só precisa pressionar Command e o sinal de mais. Ok, então isso é bom e grande. Agora vamos navegar para a próxima etapa: navegar até a pasta onde seu projeto será armazenado. Para fazer isso, você digita cd e, em seguida, digita o caminho do arquivo. Então, documentos. E agora eu criei uma pasta chamada Speaking Clock. Pressione Enter. Agora estamos na pasta do relógio falante. A próxima coisa a fazer é criar um ambiente Python que abrigará o aplicativo e todos os módulos e arquivos, tudo a ver com este aplicativo. Atualmente, estou usando a distribuição Anaconda do Python. Então, tudo o que você precisa fazer é digitar conda, criar dois traços, nome e, em seguida, o nome do seu ambiente. Vou ligar para o meu relógio falante só para facilitar. Vamos organizar isso para que possamos ver toda a tela corretamente. Vamos, ok. Vamos digitar esse relógio falante. Depois de pressionar enter, você me diz se está pronto. OK. Eu direi o porquê para você. Sim. E ele foi criado e agora, para abrir o para ativar o novo ambiente, vou apenas digitar as instruções aqui. Então, tudo o que você precisa digitar é conda, ativar o relógio falante. Vamos fazer isso. Aí está. Criamos nosso ambiente Python. Em seguida, vamos criar o aplicativo usando o Jupyter Notebooks. 4. 04 Como criar o Python no caderno do Juyter: Agora que temos nosso ambiente Python configurado, precisamos abrir um notebook Jupiter. Se você não o instalou antes, você pode simplesmente acertar. Se eu clicar aqui, pip, instale Júpiter. Então, tudo bem, diz que o requisito já satisfeito, mas isso já estava incluído. Se você não tivesse, você poderia fazer isso. Caso contrário, você pode seguir para a próxima etapa. Eu só vou digitar claro aqui para que tenhamos uma tela clara para trabalhar fora. E então eu vou abrir o Jupyter Notebooks, literalmente digitando Jupiter notebook. Fantástico. E abriu tudo. Ok, lembra dos arquivos que criamos anteriormente? Aqui estão eles agora. Tudo bem, então você notará agora que os arquivos foram alterados. Isso porque há alguns dias eu gravei todos os arquivos necessários para a voz, para o relógio falante. E então eu substituí os arquivos MP3 que criei hoje por esses arquivos. Portanto, o primeiro passo é criar um novo arquivo de notebook. Um arquivo de três cadernos Python. Vamos dar um nome a ele e adivinha? Vai falar sobre relógio sublinhado, como fizemos para todas as outras coisas. Vamos fazer isso. Vamos dar um nome para falar. OK. Então, vamos fazer algumas coisas. A primeira coisa que vamos fazer é configurar a página. Então, primeiro eu vou colocá-lo aqui. Esse bloco será para importar os módulos que vamos usar. Ok, este próximo quarteirão de qualquer maneira seria por enquanto. Então, obtendo, obtendo o tempo e o e obtendo os arquivos de áudio. O terceiro seria reproduzir os arquivos de áudio. Na verdade, em vez de Ok, sim, isso é bom. Na verdade, terá cinco em vez de quatro. A próxima parte que vamos fazer é colocar todo o código em uma função. E então vamos criar a interface do usuário. Está bem? Então, esses são amplamente os passos que vamos seguir. Então, vamos começar com a importação de módulos. Os módulos que vamos usar, nosso VLC. Eu mencionei aqui datetime, VLC time e py Simple GUI. Eu tenho isso escrito em algum lugar, então vou colá-los apenas para economizar algum tempo. Portanto, temos data e hora de importação como d t, e isso será usado para obter a hora atual. Vlc para reproduzir os arquivos de áudio, hora de pausar a execução do Python por um segundo ou mais, para que o tempo, como está sendo dito, pareça um pouco antinatural. Você entende o que quero dizer mais tarde. E então temos py Simple GUI, que é para a interface do usuário, com a qual o usuário poderá interagir. Basta pressionar um botão, talvez pressionar OK para ouvir a hora atual. Tudo bem, então, neste próximo passo, o que vamos fazer é obter a hora, a hora atual, assim como vou colocar essa hora atual. Vamos colocar isso como um comentário e depois determinar quais arquivos reproduzir. Ok, essas são as duas coisas que vamos realizar neste bloco. Tudo bem, então, como obtemos a hora atual? Vamos usar o módulo datetime. Então, vamos fazer isso. Então, para obter o tempo agora vamos criar uma variável chamada tempo. Agora, vou colar isso. E então vamos usar o módulo datetime para obter a hora atual. OK, então tenho tempo agora alguma nova variável, d t referindo-se a datetime dot datetime dot now that time. E depois testar se isso realmente está nos dando o que estamos esperando. Vamos colocar uma declaração impressa lá e depois executá-la. Então, vamos executar o primeiro bit para importar os módulos. E depois a segunda parte. Lá vamos nós. Diz que a hora agora é para 2308. E todos os segundos depois disso também, vamos nos livrar deles daqui a pouco. Ok, então isso é bom. Então, sabemos que está funcionando, o que é ótimo. A próxima parte é que precisamos ser capazes de retirar a parte da hora do tempo, que é 04, e a parte dos minutos do tempo, 23. Não precisamos necessariamente dos segundos. É por isso que podemos prescindir. Então, como fazemos isso? Bem, você pode extrair o tempo. Você pode obter as horas em minutos como números inteiros em novas variáveis. Vou colar isso. Então, como fazemos isso? Para obter a hora, a hora da hora? Você literalmente pega a variável que temos para o tempo, que é o tempo agora, e coloca a hora ao lado dela e depois faz o mesmo por um minuto. Então, criamos uma variável chamada hora para obter a hora e o minuto para colocá-los no minuto para colocá-los nela. Bem direto. E agora nós temos, nós temos isso. Se quiséssemos testar isso, poderíamos apenas fazer uma rápida impressão de declarações. Então imprima Nossa ligação a esta hora. Está bem? E então faremos o mesmo para consistente e colocá-lo no singular. Eu imprimo isso, digamos que posso ver o tempo integral aqui. E podemos ver que as horas por um minuto são 25. Isso é muito bom. Ok, agora que resolvemos isso, vamos fazer alguma coisa. Vamos mover essa parte para um novo bloco só porque eu acho que é muito bom separá-los e sabemos que cada bloco representa um, apenas faz uma coisa. Então, vamos fazer isso. Para fazer isso, estou clicando no gráfico abaixo e pressionando a dor apenas uma vez, e isso cria um novo bloco. E então eu vou cortar isso e colar lá dentro. Consistência. Vou adicionar os dois pontos nos próximos dois minutos. E para executar um bloco, ou você tem que fazer é pressionar as teclas Shift e Enter ou pressionar Executar aqui. Ok, então isso é atualizado. Isso parece bom. Ok, vamos descer aqui. Então, precisamos determinar quais arquivos reproduzir. Para isso. Vamos usar uma combinação de VLC e alguma lógica. Qual é a lógica aqui? Lembre-se, se eu levar você de volta aos nossos arquivos, criamos alguns arquivos. Para cada número. Tivemos um alto e um baixo. Quando você diz o número para o tipo digamos que você queira dizer que o tempo é quatro terços. Você diz que os quatro com uma espécie de inflexão para cima e o 38 com uma inflexão para baixo para o T8. É por isso que gravei duas versões das quatro. Então, o que precisamos fazer é basicamente dizer ao computador que, quando o número a que estamos nos referindo é a hora, deve ser a versão ativa do arquivo. Quando o número a que estamos nos referindo é o minuto , ele deve ser a versão inativa do arquivo. Então, tudo o que acabei de dizer, acabei de colocar como instruções aqui. Então, para as horas, ele deve escolher o arquivo com o sufixo up. E por alguns minutos, ela deve escolher os arquivos com o sufixo down. Tudo bem, então aqui está a primeira tentativa. Então, sabemos que todos os arquivos terminam com dot mp3. E para os nomes dos arquivos de hora, vamos escolher a sequência da hora, que está aqui. Nós temos quatro. Portanto , é um número inteiro no momento em transformar isso em uma string colocando as palavras STR lá. Também fizemos o mesmo por um minuto também. Então é assim que deveria ser. Então, para testar isso, vamos colocar algumas declarações impressas. Ok, então estamos apenas testando, testando para ver quais seriam os arquivos, nomes de arquivos e ter certeza de que são os apropriados. Ok, então aqui temos quatro até MP3 e 42 sublinhados abaixo desse mp3. Isso funciona, mas isso pode não funcionar porque, se você se lembrar, estrutura de arquivos, tínhamos 04, não quatro. Portanto, precisamos mudar a maneira como criamos os nomes dos arquivos para incluir um 0 na frente do número para qualquer número que seja menor que dez, basicamente. Então, vamos fazer isso. Vamos digitar aqui nosso nome de arquivo é igual. Vamos deixar isso em branco por enquanto. Agora, vou usar uma declaração if. Se a potência for menor que dez, então o que queremos fazer? Queremos o nome do arquivo. Nosso nome de arquivo deve ser 0. E a corda que tínhamos acima logo ali em cima. Basicamente, estamos dizendo para adicionar isso a isso. Se não for esse o caso, basta fazer o que tínhamos antes. Tudo bem, vamos testar isso rapidamente. Então, podemos dizer, então o que eu vou fazer é comentar isso e depois testar isso. Ok, então está correto. É exatamente como queremos que seja. Já que acertamos para o, nosso nome de arquivo. Vamos repetir o mesmo para o nome do arquivo minuto. Então, vamos fazer isso. Acho que a maneira mais fácil de fazer isso seria simplesmente copiar e colar isso. E depois é só mudar o nome. Então mude isso para Min. Mín. Ok, quase lá. Vamos ver se temos tudo aqui. Ok, bem, vamos testar. Então, vamos executar isso. Ok, então temos a hora aqui às 4442, para que nosso arquivo seja 0 para cima. O arquivo minuto 42 para cima. Nós nos levantamos. E nós não queríamos isso. Queríamos que diminuísse a inflexão por alguns minutos. Então, vamos mudar isso. Se executarmos isso agora, teremos uma inflexão para cima para a hora e uma deflexão para baixo para o minuto. Eu acho que isso é justo. Isso é justo. A última coisa que precisamos fazer aqui é limpar um pouco esse código para não usarmos mais esse pedaço de código. Então mova isso. Basta manter nosso código e limpo e arrumado. Em seguida, passaremos para a parte divertida de reproduzir os arquivos de áudio e ver nosso aplicativo de relógio realmente se encaixar. Vai ser empolgante. O aplicativo está quase concluído. A última força, quase o último lugar, é, a última etapa é reproduzir os arquivos de áudio. Então, vamos fazer isso. Vai haver três partes nisso. Em primeiro lugar, haverá uma parte disso dizendo que a hora agora é a próxima parte seria dizer a nossa parte do tempo. E então a parte final seria dizer a parte minuciosa do tempo. O módulo VLC torna isso muito fácil de fazer. É por isso que eu escolhi. Então, o que pretendemos fazer agora é trazer o arquivo que diz que a hora agora é deixar isso funcionar. Se olharmos para nossos arquivos, esse arquivo é chamado de time now one dot mp3. Então, vamos colocar isso com o VLC. Tudo o que você precisa fazer é criar uma variável. Então, vamos chamar isso de p, que é o arquivo que precisa ser reproduzido. Literalmente, basta contar. Reprodutor de mídia Vlc e colchetes abertos. Coloque o nome do arquivo lá, feche os colchetes. E então tudo o que temos que fazer é pressionar P dot play. Que tipo de jogo de aquecimento em vez disso. Então, vamos testar isso. A hora agora é fantástica. Ok, então está funcionando. Isso reproduziu o arquivo como esperávamos. Então, agora vamos adicionar as outras partes até que seja uma brincadeira. Os arquivos para a parte externa e a parte minuto do tempo. Então eu disse a ele para reproduzir o nosso arquivo também. Vamos experimentar isso. Agora. Está tudo bem. Então você deve ter notado que parecia que ele tocava o nosso nome de arquivo e a hora agora ao mesmo tempo, que não é o que procuramos. Então, o que eu vou fazer, Use o módulo time para dizer ao Python que eu só quero você toque a próxima tupla para executar o próximo código. Depois de alguns segundos. Para isso, vamos usar o tempo que dormir. Está bem? Agora, vamos tentar jogar. O tempo agora é quatro. Ótimo. Então isso funcionou conforme o esperado. Isso atrasou para que Dan dissesse a primeira parte primeiro e depois dissesse o nosso nome de arquivo. Agora, pode haver uma maneira melhor de fazer isso usando o reprodutor VLC MediaPlayer. Ainda não aprendi, mas pensei que sim, essa não é outra maneira de contornar. Então, agora vamos adicionar a porção por um minuto. Vamos adicionar a parte minuciosa do tempo e também adicionar o tempo de sono que dorme por um minuto também. Então, vou adicionar um segundo talvez de tempo para dormir. Os números entre colchetes representam segundos. A propósito, estou dormindo, vou adicionar um. Então espere um segundo entre dizer a hora e depois dizer o minuto. Então, vamos fazer isso e agora vamos colar o código por um minuto. Ok, então isso está parecendo bom. Vamos testar isso. A hora agora é para A hora agora é para 42. OK. Isso parece bastante natural. Isso foi bom. Isso foi bom. Há poucas coisas para as quais queremos corrigir. Isso parece funcionar bem. Mas posso prever um problema em que, digamos, a hora, o minuto talvez seja menor no momento é para um. Por exemplo, nós só programamos isso diz 41. Então, literalmente, diria que a hora agora é para um, o que não é muito natural. Então, o que eu fiz na gravação é que eu gravei apenas o 00004. E vamos usar um ou dois desses para adicionar a isso, de modo que ele diga que o tempo agora é quatro por um. Então, vamos fazer isso. Vamos ouvir alguns deles. Ok, então eu tenho algumas versões de o ou 0. O duplo o seria usado por enquanto. Então, quando passa da meia-noite, quando é 0001, por exemplo. E os outros O's poderiam ser usados apenas em termos pouco antes do minuto para qualquer número menor que dez. Então, vamos implementar isso. Vamos usar declarações if para bebês para determinar o que o código faz. Então, vamos começar com a hora. Então, vamos mudar a parte externa do tempo. Então, em vez de apenas reproduzir automaticamente o nome do arquivo 123 up para a hora, vamos colocar uma instrução if para que ela toque O se for meia-noite, se for apenas me pausar à noite ou meia-noite, e se não for, então ele só toca normalmente. Então, vamos fazer isso. Ok, então se a hora for igual a 0, então toque a versão superior dela. Sim. Se não for jogar apenas a queda normal , como esperamos. E então deixe haver 1 segundo de pausa antes de jogarmos o minuto, o que é bom. Agora, para a parte minuto, o que vamos fazer é novamente, usando a declaração if, vamos dizer basicamente dois. Para qualquer número acima de dez, basta jogar normalmente. Se o número for menor que dez, toque o O na frente dele primeiro. Está bem? Então, o que fizemos aqui é basicamente dito, se o minuto for maior que dez, basta reproduzir o nome do arquivo que estamos esperando. Se o minuto for 0. Então, digamos que seja automático. 6h, por exemplo. Diria apenas que o tempo agora é seis e não diz 00, porque não queremos que ele diga isso em um discurso normal. Nós apenas dizemos seis. Se, no entanto, se não preencher nenhuma dessas condições, ou seja, é menor que, menos de dez. Nós esperaríamos que ele dissesse, oh, primeiro e depois dizer, Oh, dê um pouco de pausa. Então, sem 0,7 segundos e depois diga o número. Então, se fosse 407 da manhã, diria que a hora agora é 407. Vamos jogar de novo só para verificar se tudo funciona. A hora é agora 42. Ok, Fantástico. Isso funciona bem. Agora temos todo esse código e parece estar funcionando muito bem. Para colocar o arquivo, esse todo o código basicamente em uma função, precisamos realmente declarar qual é a função. Então, ao usar Python para declarar uma função, você digita as letras D, E, F. Então vamos chamar nossa função, vamos chamá-la de dizer o tempo. E coloque dois suportes lá. E aqui, vamos copiar e todo o código que colocamos acima. Então, vamos fazer isso. Vou me livrar da maioria dos comentários. Eu faço isso. Eu preciso recuá-lo usando ao usar o Python. Então, vou pensar se devo deixar os comentários. Vamos continuar copiando. Na verdade, vou copiar tudo isso e depois remover os comentários do Ribose. Saiba disso, então vou remover esses comentários e recuá-los também. Então, tudo se enquadra na função. Backup. Entendi isso. Vou reproduzir os arquivos de áudio, posso colá-los aqui e depois colocar o recuo correto. Teste a cobra. Acho que podemos ter terminado. Assim que tivermos a função lá, agora precisamos chamar a função para poder vê-la funcionando. Então, vou digitar aqui o nome da função, estamos chamando. E depois que eu pressionar Executar, ele deve tocar conforme o esperado. A hora é agora 58. Ok, isso parece muito bom. Tudo bem, então, podemos remover algumas coisas. Nós realmente não precisamos que tudo isso apareça. Acho que vou deixar o tempo lá. Ou vou mudar isso um pouco. Então eu vou deixar dizer 558 e apenas tornar isso um pouco apertado aqui. Portanto, se removermos todas as impressões que fizemos anteriormente, podem ser removidas. Vou copiar isso porque vou usá-lo mais abaixo. Vou cortá-lo e usá-lo mais abaixo. Mas então todas as outras impressões podem ser removidas. Todas as outras declarações impressas, devo dizer. Isso está logo acima disso. E então, em vez de dizer o tempo inteiro, vou colocar a hora dois pontos ou não. Sim, vou colocar dois pontos. E então no minuto em que o Min, como o chamamos. Vamos ver se isso funciona. Vou comentar que a função por enquanto, chamando a função por enquanto. Então eu posso ver se isso funciona. Então a hora agora é para 42 é o que diz aqui. Tudo bem. Isso será ajustado em breve. Uma vez que eu coloquei, uma vez que eu faço isso funcionar. E isso realmente precisa estar dentro da função para que ela seja impressa corretamente. Tudo bem, vamos ver isso. O momento da verdade. O tempo agora é seis. Ok, isso é ótimo. Fez exatamente como queríamos lembrar o que planejamos anteriormente. Sussurre para não dizer o que é para não dizer seis. Oh, eu deveria dizer apenas seis. No entanto, no momento está dizendo que está digitando aqui 60 em vez de 600, vez de corrigir isso agora , não é o ponto principal disso, então vou reverter isso de volta para a forma anterior, nós tínhamos isso também. Percebi que houve um erro e isso seria bom para corrigir. Então aqui está escrito Arquivo mínimo em vez de nome de arquivo mínimo. Isso certamente nos dará um erro em termos de reprodução de um arquivo ou reprodução para quando os minutos ou menos de 0, menos de dez em vez disso. Então, vou atualizar isso para o nome do arquivo, que é o que ele deveria dizer. Acho que todo o resto deve funcionar conforme o esperado. Agora vamos tentar isso de novo. O tempo agora é seis, 20. Ok, Fantástico. Também vou mover essa parte da impressão para cima para que possamos vê-la um pouco antes de ouvirmos a hora sendo chamada. Então, vamos tentar de novo agora. Vamos apenas executar isso de novo. A hora é agora 621. Ok, isso funciona. OK. Preciso removê-lo daqui. Mais uma vez. A hora é agora 621. OK. Isso parece certo. 5. 05 Crie a interface e o teste de usuário: Então, nesta etapa final, o que precisamos fazer é criar a interface do usuário com a qual o usuário interagiria aqui, aqui, o tempo falado para eles. Há poucas coisas que precisamos fazer aqui. Vamos usar o módulo, o último módulo que mencionei no topo, que era o módulo de GUI simples py. Demos a ele o pseudônimo SG. A primeira coisa que precisamos fazer é criar o layout. É um layout muito simples e muito simples. É literalmente apenas uma caixa de diálogo com as opções, ok, e cancelar ou ok, e fechar. Em seguida, queremos criar a janela, que vai, como está esse layout? Janela é igual a janela de pontos SG, relógio de fala de colchete aberto. Esse será apenas o título do título da caixa de diálogo. E então contamos a ele layout. O layout é o que estará dentro da caixa de diálogo. Finalmente, precisamos criar um loop de eventos para dizer a ele o que fazer com os itens na caixa de diálogo. E, em seguida, acabe perto de terminar o programa. Ok? Então aqui vamos nós. Diz enquanto verdadeiro, while loop, ou duas coisas. Evento e valores, leitura de pontos da janela. Então, se alguém apertar o botão OK, o que deve acontecer? Então, se evento for igual a ok, então diga o tempo, eu chamo a função acima. Se o evento for fechado ou a pessoa clicar na caixa de diálogo Fechar no botão Fechar, ele interromperá o programa. Então, vamos experimentar isso. OK. Então isso se abriu. A hora é agora 629. OK. E é isso aí. Aí está. Esse é o fim do nosso programa.