Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''python''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Ola, alguém poderia me ajudar com esse erro do buildozer? Ele da alguns segundos depois de eu executar o comando final para empacotamento do apk. Obrigado desde já a todos 🙂 PS: Estou rodando em um debian # Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy,datetime,time,sqlite3 --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/zakk/Área de trabalho/projeto original/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21 # ENVIRONMENT: # SHELL = '/bin/bash' # SESSION_MANAGER = 'local/kali:@/tmp/.ICE-unix/1548,unix/kali:/tmp/.ICE-unix/1548' # QT_ACCESSIBILITY = '1' # COLORTERM = 'truecolor' # SSH_AGENT_LAUNCHER = 'openssh' # XDG_MENU_PREFIX = 'gnome-' # GNOME_DESKTOP_SESSION_ID = 'this-is-deprecated' # LANGUAGE = 'pt_BR:pt:en' # POWERSHELL_TELEMETRY_OPTOUT = '1' # SSH_AUTH_SOCK = '/run/user/1000/keyring/ssh' # XMODIFIERS = '@im=ibus' # DESKTOP_SESSION = 'gnome' # GTK_MODULES = 'gail:atk-bridge' # DBUS_STARTER_BUS_TYPE = 'session' # PWD = '/home/zakk/Área de trabalho/projeto original' # LOGNAME = 'zakk' # XDG_SESSION_DESKTOP = 'gnome' # QT_QPA_PLATFORMTHEME = 'qt5ct' # XDG_SESSION_TYPE = 'wayland' # XAUTHORITY = '/run/user/1000/.mutter-Xwaylandauth.PMMFO0' # GDM_LANG = 'pt_BR.UTF-8' # HOME = '/home/zakk' # USERNAME = 'zakk' # LANG = 'pt_BR.UTF-8' # LS_COLORS = 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:' # XDG_CURRENT_DESKTOP = 'GNOME' # VTE_VERSION = '6003' # WAYLAND_DISPLAY = 'wayland-0' # GNOME_TERMINAL_SCREEN = '/org/gnome/Terminal/screen/4a7ecb19_f999_4530_91d4_fbd9ff3ad911' # INVOCATION_ID = 'afa87a754bfb4ab780e34587fde3dc6e' # MANAGERPID = '1425' # GNOME_SETUP_DISPLAY = ':1' # XDG_SESSION_CLASS = 'user' # TERM = 'xterm-256color' # USER = 'zakk' # GNOME_TERMINAL_SERVICE = ':1.92' # DISPLAY = ':0' # SHLVL = '1' # QT_IM_MODULE = 'ibus' # DBUS_STARTER_ADDRESS = 'unix:path=/run/user/1000/bus,guid=3b7b0e84c9088a40c609eb8e5f112cde' # XDG_RUNTIME_DIR = '/run/user/1000' # QT_AUTO_SCREEN_SCALE_FACTOR = '0' # JOURNAL_STREAM = '8:27970' # PATH = '/home/zakk/.buildozer/android/platform/apache-ant-1.9.4/bin:/home/zakk/.local/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games' # GDMSESSION = 'gnome' # DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus,guid=3b7b0e84c9088a40c609eb8e5f112cde' # _JAVA_OPTIONS = '-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true' # _ = '/usr/local/bin/buildozer' # PACKAGES_PATH = '/home/zakk/.buildozer/android/packages' # ANDROIDSDK = '/home/zakk/.buildozer/android/platform/android-sdk' # ANDROIDNDK = '/home/zakk/.buildozer/android/platform/android-ndk-r19c' # ANDROIDAPI = '27' # ANDROIDMINAPI = '21' # # Buildozer failed to execute the last command # The error might be hidden in the log above this error # Please read the full log, and search for it before # raising an issue with buildozer itself. # In case of a bug report, please add a full log with log_level = 2
  2. estou aprendendo a programar agora para desenvolver um projeto no meu trabalho e também para aprender a fazer analise de dados pelo Python. Porém esse projeto que eu quero fazer é um pouco complicado então resolvi começar pelo básico e depois ir subindo o nível e aprimorando, para começar peguei esse código para fazer um bot e fica dando esse erro que eu não consigo arrumar, import os def processar_resposta(resposta😞 if resposta == '1': print (f'{os.linesep}por gentileza mande sua matricula{os.linesep}') elif resposta == '2': print (f'{os.linesep}Em casos de sintomas ligar para os telefones (11) ou (11) para ter o atendimento individual, eles funcionam 24 horas por dia e recebem chamadas a cobrar.{os.linesep}') def start(): print ('Olá') while True: resposta = input ('{os.linesep}'Sou a assistente virtual do DSO, escolha uma das opções abaixo para continuarmos com o seu atendimento: {os.linesep}1- data de exame periodico;{os.linespep} 2- INFORMACOES DE CONTATO É CORONA;{os.linespep}') processar_resposta(resposta) if__name__ == '__main__': start() erro: resposta = input ('{os.linesep}'Sou a assistente virtual do DSO, escolha uma das opções abaixo para continuarmos com o seu atendimento: {os.linesep}1- data de exame periodico;{os.linespep} 2- INFORMACOES DE CONTATO É CORONA;{os.linespep}') ^ IndentationError: expected an indented block (o erro se encontra no "o" de informações inicialmente achei que era por conta das acentuações, removi elas porém o erro persiste, além disso aparentemente o meu processar_respostas(resposta), o if__name__ = e o start() também não querem pegar KKKKKKKKKKKKKKK, enfim só ladeira abaixo. Se alguém quiser me ajudar eu agradeceria muitooo, como disse estou iniciando agora e está sendo bem complicado..
  3. Boa noite! Tenho uma lista que contém outras listas com dados referentes a nome, idade e altura de várias pessoas: pessoas = [['PAULO', 75, 1.74], ['ANDRE', 15, 1.87], ['PEDRO', 26, 1.46], ['JULIO', 75, 1.78], ['PAULO', 84, 1.88], ['JOÃO', 34, 1.56], ['SERGIO', 88, 1.74]] Feito isso, eu criei um for para encontrar pessoas com nomes repetidos. Caso encontre um nome igual, ele compara a idade. Se essa pessoa com o mesmo nome for mais velha, ele substitui a idade e a altura dessa pessoa com o mesmo nome, criando assim uma nova lista (l). Ou seja, eu não quero nomes repetidos na lista. Caso haja, ele deixa na nova lista a pessoa que for mais velha, com sua respectiva idade. Esse foi meu código: l = [] for i in pessoas: if pessoas[i][0] not in l: #SE NÃO TIVER NENHUMA PESSOA COM ESSE NOME, É INSERIDO OS DADOS DA PRIMEIRA PESSOA l.append(i) else: idadeindex = l.index(pessoas[i][0]) #SE JÁ TIVER ESSE NOME, Ó CÓDIGO PROCURA O INDEX DO NOME QUE já ESTA DENTRO DA LISTA if l[idadeindex][1] < pessoas[i][1]: #SE A IDADE DE QUEM ESTA DENTRO DA LISTA FOR MENOR DA PESSOA QUE ESTÁ FORA l[idadeindex][1] = pessoas[i][1] #POR FIM, ELE SUBSTITUI A IDADE E A ALTURA, MATENDO O NOME l[idadeindex][2] = pessoas[i][2] print(l) Ele volta esse erro: TypeError: list indices must be integers or slices, not list Sou novato em Python e não consigo fazer meu código funcionar. Alguém consegue pensar em uma forma mais fácil de fazer isso?
  4. nome_do_arquivo = "pib_municipio_2010_a_2018 (1).txt" arquivo = open(nome_do_arquivo, 'r', encoding="utf8") for linha in arquivo.readlines(): print(linha, end="") arquivo.close() nome_do_arquivo = "pib_municipio_2010_a_2018 (1).txt" arquivo = open(nome_do_arquivo, 'r', encoding="utf8") for linha in arquivo.readlines(): print(linha, end="") arquivo.close()
  5. Estou tentando criar um chat bot com perguntas para o whats, porém como não achei nenhum projeto que se encaixe com o que eu quero na internet estou tendo que fazer parte por parte para tentar criar o meu (ps: sou bem iniciante em programação), instalei tudo certinho porém continua dando o erro abaixo na hora de executar o código (ps: eu tentei executar pelo spyder e foi só no VS que não quer pegar, porém não gostei muito do spyder e queria desenvolver pelo VS mesmo), achei que pudesse ser por conta de outros programas instalados então eu desinstalei eles e mudei as pastas todas para um mesmo repertório e mesmo assim não funcionou KKKKKK Inicialmente o meu código para entrar no whats e fazer o envio de mensagens está assim: from selenium import webdriver from selenium.webdriver.chrome.options import Options import time import simon class WhatsappBot: def __init__(self😞 # Parte 1 - A mensagem que você quer enviar (O real vai ser um outro código, que esta como ask.py) self.mensagem = "Oi" #selecionar todos as msg não lidas self.funcionarios = ["NOTAS"] #Aqui eu estou usando o nome notas que é um grupo que eu criei para teste, porém queria colocar algo que selecionasse todas as mensagens não lidas options = webdriver.ChromeOptions() options.add_argument('lang=pt-br') self.driver = webdriver.Chrome( executable_path=r'./chromedriver.exe', chrome_options=options) def EnviarMensagens(self😞 self.driver.get('https://web.whatsapp.com') time.sleep(30) for funcionarios in self.funcionarios: campo = self.driver.find_element_by_xpath( f"//span[@title='{funcionarios}']") time.sleep(3) campo.click() chat_box = self.driver.find_element_by_class_name('_13mgZ') #ou usar _38M1B time.sleep(3) chat_box.click() chat_box.send_keys(self.mensagem) botao_enviar = self.driver.find_element_by_xpath( "//span[@data-icon='send']") time.sleep(3) botao_enviar.click() time.sleep(5) bot = WhatsappBot() bot.EnviarMensagens()
  6. Olá, estou em busca de desenvolvedor Freelance que tenha plenos conhecimentos na linguagem de programação Python para realizar um projeto de faculdade. O pagamento para a realização do Projeto será realizado via Pix Para mais informações como prazo, valores e escopo do projeto entrem em contato comigo por email email - gustavo23dc@gmail.com Aguardo contato
  7. Boa noite, Eu estive seguindo os passos deste site aqui: (https://kenzie.com.br/blog/pygame/) para baixar o Pygame, mas ele fica dando sempre o mesmo erro no Python: >>> python -m pip install -U pygame File "<stdin>", line 1 python -m pip install -U pygame ^ SyntaxError: invalid syntax Eu já tentei atualizar o pip, baixei a última versão (3.9.4), a que foi utilizada pelo próprio site (3.9.2), a 3.6.8 (que foi referenciada como a versão que suporta o Pygame por este site: http://help.codakid.com/en/articles/2551585-how-to-install-pygame), e todas elas deram exatamente o mesmo erro. Agradeço desde já se puder ajudar. Captura de tela do erro: https://drive.google.com/file/d/1STnYCsywoq9GdrjZLPp2PozWro3jTHyn/view?usp=sharing
  8. Members 0 0 posts Denunciar post Postado 1 hora Olá eu vim aqui para publicar meu projeto, esse projeto e uma calculadora de m2 e latas de tinta. Essa calculadora servira como uma ajuda aos pintores, é eu queria pedir a opinião sobre o meu aplicativo e sobre meu código larg = float(input("Largura da parede=")) alt = float(input("Altura da parede=")) area = larg*alt tin= larg*alt/2 print("a dimensao da sua parede e de {}x{} e a area e {}m2".format(larg,alt,area)) print("Voce precisara de {}L de tinta".format(tin)) print(" ") print(input("Obrigado por usar")) arquivo executável: M2CALC (mediafire.com) Esse projeto usa a base de 2L de tinta para fazer o calculo gostaria de receber sua opinião obrigado por ler
  9. Boa tarde a todos. Faz pouco mais de uma semana que vim a conhecer o Python através de um intensivão gratuito q rolou no youtube. Eu ainda estou parado na primeira aula tentando realizar esse envio dos emails. Estou fazendo os testes com uma planilha de excel importada pro python, onde tenho informação de candidatos inscritos e matriculados nos devidos cursos. O teste é fazer uma lista de curso e uma lista de emails (visto q pra cada curso haverá um email diferente para envio), pra então eu disparar esses emails com o resultado de cada curso para seu respectivo coordenador analisar. Estou usando como guia o código disponibilizado pelo pessoal do curso porém está acontecendo um erro q não sei como solucionar; por isso estou aqui pedindo a ajuda. Vou colar abaixo as linhas de códigos e no final o erro (servidor de email será o gmail; estou usando o python no google colab): def enviar_email(resultado, curso, email😞 import smtplib import email.message server = smtplib.SMTP('smtp.gmail.com:587') corpo_email = f""" <p>Teste de e-mail</p> <p>Segue o relatório</p> {resultado.to_html()} <p>Att.</p> <p>Lucas Mariano</p> """ #vamos editar msg = email.message.Message() msg['Subject'] = f"Relatório de Matriculados - {curso}" #vamos editar msg['From'] = '' #vamos editar msg['To'] = email password = '' #vamos editar msg.add_header('Content-Type', 'text/html') msg.set_payload(corpo_email ) s = smtplib.SMTP('smtp.gmail.com: 587') s.starttls() # Login Credentials for sending the mail s.login(msg['From'], password) s.sendmail(msg['From'], [msg['To']], msg.as_string().encode('utf-8')) print('Email enviado') ---------------------------------------------------------- lista_cursos=resultados["Curso"].unique() lista_emails=resultados[["Curso","Email"]].unique() for i, curso in enumerate(lista_cursos): resultado = resultados.loc[resultados["Curso"] == curso,["Curso","Inscrição","Matrícula","Email"]] resultado = resultado.groupby("Curso").sum() resultado["Resultado_Final"]=((resultado["Matrícula"]/resultado["Inscrição"])*100) enviar_email(resultado,curso,lista_emails[i]) ---------------------------------------------------------- Segue o erro: AttributeError Traceback (most recent call last) <ipython-input-18-c918ce88880e> in <module>() 7 resultado["Resultado_Final"]=((resultado["Matrícula"]/resultado["Inscrição"])*100) 8 ----> 9 enviar_email(resultado,curso,lista_emails[i]) 10 display(resultado) 11 6 frames <ipython-input-14-d1543f8c0239> in enviar_email(resultado, curso, email) 26 # Login Credentials for sending the mail 27 s.login(msg['From'], password) ---> 28 s.sendmail(msg['From'], [msg['To']], msg.as_string().encode('utf-8')) 29 print('Email enviado') /usr/lib/python3.6/email/message.py in as_string(self, unixfrom, maxheaderlen, policy) 156 maxheaderlen=maxheaderlen, 157 policy=policy) --> 158 g.flatten(self, unixfrom=unixfrom) 159 return fp.getvalue() 160 /usr/lib/python3.6/email/generator.py in flatten(self, msg, unixfrom, linesep) 114 ufrom = 'From nobody ' + time.ctime(time.time()) 115 self.write(ufrom + self._NL) --> 116 self._write(msg) 117 finally: 118 self.policy = old_gen_policy /usr/lib/python3.6/email/generator.py in _write(self, msg) 193 meth = getattr(msg, '_write_headers', None) 194 if meth is None: --> 195 self._write_headers(msg) 196 else: 197 meth(self) /usr/lib/python3.6/email/generator.py in _write_headers(self, msg) 220 def _write_headers(self, msg): 221 for h, v in msg.raw_items(): --> 222 self.write(self.policy.fold(h, v)) 223 # A blank line always separates headers from body 224 self.write(self._NL) /usr/lib/python3.6/email/_policybase.py in fold(self, name, value) 324 325 """ --> 326 return self._fold(name, value, sanitize=True) 327 328 def fold_binary(self, name, value): /usr/lib/python3.6/email/_policybase.py in _fold(self, name, value, sanitize) 367 if self.max_line_length is not None: 368 maxlinelen = self.max_line_length --> 369 parts.append(h.encode(linesep=self.linesep, maxlinelen=maxlinelen)) 370 parts.append(self.linesep) 371 return ''.join(parts) AttributeError: module 'email' has no attribute 'encode' Então, o q estou fazendo de errado?
  10. é possível gerar pulsos através da porta paralela de qualquer computador usando um programa python? se sim, qual a frequência máxima de saída pode ser atingida através dessa método ? Estou começando um projeto de mecatrônica que envolve gerar pulsos de até 200Khz para controlar servo motores, gostaria de fazer isto através do python sem utilizar circuitos externos se possível, mas não faço ideia de como começar. gostaria de uma visão de como direcionar minhas pesquisar sobre esse projeto. obrigado
  11. Introdução John é monitor na matéria de Introdução à Produção Textual I na Penn State University (PSU). Durante esse período, John descobriu que uma epidemia de COH-PIAH estava se espalhando pela PSU. Esses doença rara e altamente contagiosa faz com que as pessoas contaminadas produzam textos extremamente semelhantes de forma involuntária. Após a entrega da primeira redação, John desconfiou que alguns alunos estavam sofrendo de COH-PIAH. John, se preocupando com a saúde da turma, resolveu buscar um método para identificar os casos de COH-PIAH. Para isso, ele necessita da sua ajuda para desenvolver um programa que o auxilie a identificar os alunos contaminados. Detecção de autoria Utilizando diferentes estatísticas do texto, é possível identificar aspectos que funcionam como uma “assinatura” do autor. Diferentes pessoas possuem diferentes estilos de escrita, algumas preferindo sentenças mais curtas, outras preferindo sentenças mais longas. Essas “assinatura” pode ser utilizada para detecção de plágio, evidência forense, ou nesse caso, para detectar a grave doença COH-PIAH. Traços linguísticos Nesse exercício utilizaremos as seguintes estatísticas para detectar a doença: Tamanho médio de palavra: Média simples do número de caracteres por palavra. Relação Type-Token: Número de palavras diferentes utilizadas em um texto divididas pelo total de palavras. Razão Hapax Legomana: Número de palavras utilizadas uma vez dividido pelo número total de palavras. Tamanho médio de sentença: Média simples do número de caracteres por sentença. Complexidade de sentença: Média simples do número de frases por sentença. Tamanho médio de frase: Média simples do número de caracteres por frase. Funcionamento do programa Diversos estudos foram compilados e hoje se conhece precisamente a assinatura de um portador de COH-PIAH. Seu programa deverá receber diversos textos e calcular os valores dos diferentes traços linguísticos da seguinte forma: Tamanho médio de palavra é a soma dos tamanhos das palavras dividida pelo número total de palavras. Relação Type-Token é o número de palavras diferentes dividido pelo número total de palavras. Por exemplo, na frase "O gato caçava o rato", temos 5 palavras no total (o, gato, caçava, o, rato) mas somente 4 diferentes (o, gato, caçava, rato). Nessa frase, a relação Type-Token vale 45=0.8 Razão Hapax Legomana é o número de palavras que aparecem uma única vez dividido pelo total de palavras. Por exemplo, na frase "O gato caçava o rato", temos 5 palavras no total (o, gato, caçava, o, rato) mas somente 3 que aparecem só uma vez (gato, caçava, rato). Nessa frase, a relação Hapax Legomana vale 35=0.6 Tamanho médio de sentença é a soma dos números de caracteres em todas as sentenças dividida pelo número de sentenças (os caracteres que separam uma sentença da outra não devem ser contabilizados como parte da sentença). Complexidade de sentença é o número total de frases divido pelo número de sentenças. Tamanho médio de frase é a soma do número de caracteres em cada frase dividida pelo número de frases no texto (os caracteres que separam uma frase da outra não devem ser contabilizados como parte da frase). Após calcular esses valores para cada texto, você deve comparar com a assinatura fornecida para os infectados por COH-PIAH. O grau de similaridade entre dois textos, a e b, é dado pela fórmula: Sab=∑6i=1||fi,a−fi,b||6 Onde: Sab é o grau de similaridade entre os textos a e b; fi,a é o valor de cada traço linguístico i no texto a; e fi,b é o valor de cada traço linguístico i no texto b. Perceba que quanto mais similares a e b forem, menor Sab será. Para cada texto, você deve calcular o grau de similaridade com a assinatura do portador de COH-PIAH e no final exibir qual o texto que mais provavelmente foi escrito por algum aluno infectado. Funções de suporte As seguintes funções devem ser utilizadas no seu programa; algumas já estão implementadas, outras devem ser completadas por você. Sinta-se livre para criar funções adicionais, caso necessário. Utilize este esqueleto como base para começar o seu programa. Dica: aproveite as funções pré-prontas do esqueleto, como "separa_sentenca", "separa_frase" etc.! Como há mais de uma maneira de pensar a separação entre frases/palavras/sentenças, usando essas funções você vai fazer o cálculo da maneira esperada pelo corretor automático. Cuidado: A função le_textos() considera que um "texto" é uma linha de texto, ou seja, não é possível inserir parágrafos separados. Se você digitar algum "enter", a função vai entender que você está começando um novo texto. Preste especial atenção a isso se usar "copiar/colar" para inserir os textos! Atenção: avalia_textos() deve devolver um número de 0 a n-1, mas ao mostrar a resposta para o usuário você vai imprimir um número de 1 a n. Note também que, no cálculo de similaridade, é preciso encontrar o valor absoluto de cada uma das diferenças. ESSE É O ENUNCIADO!! Agora meu código, que o corretor diz que esta na nota 3 de, 10. Preciso de 8 no mínimo. Qualquer ajuda ja é ótimo. import re def main(): ass_main = le_assinatura() textos_main = le_textos() matriz_ass = calcula_assinatura(textos_main) ass_comparadas = compara_assinatura(ass_main, matriz_ass) copiah = avalia_textos(textos_main, ass_comparadas) + 1 return print("O autor do texto", copiah, "está infectado com COH-PIAH.") def le_assinatura(): """ A funcao le os valores dos tracos linguisticos do modelo e devolve uma assinatura a ser comparada com os textos fornecidos. """ print("Bem-vindo ao detector automático de COH-PIAH.") tam_m_pal = float(input("Entre o tamanho medio de palavra:")) type_token = float(input("Entre a relação Type-Token:")) h_lego = float(input("Entre a Razão Hapax Legomana:")) tam_m_sent = float(input("Entre o tamanho médio de sentença:")) compx_med = float(input("Entre a complexidade média da sentença:")) tam_m_frase = float(input("Entre o tamanho medio de frase:")) return [tam_m_pal, type_token, h_lego, tam_m_sent, compx_med, tam_m_frase] def le_textos(): i = 1 textos = [] texto = input("Digite o texto " + str(i) + "(aperte enter para sair):") while texto: textos.append(texto) i += 1 texto = input("Digite o texto " + str(i) + "(aperte enter para sair):") return textos def calcula_assinatura(texto): """ Essa funcao recebe um texto e deve devolver a assinatura do texto. """ if type(texto) != list: aux = texto texto = [] texto.append(aux) matriz_ass_input = [] for i in texto: sentencas = [] sentencas = separa_sentencas(int(i)) # sent.. = lista comum, ~matriz frases = [] num_tot_sentencas = 0 soma_cat_sentencas = 0 for i in range(len(sentencas)): frase_i = separa_frases(int(sentencas)) frases.append(frase_i) # frases = matriz, lista de listas num_tot_sentencas += 1 soma_cat_sentencas = soma_cat_sentencas + len(sentencas) palavras = [] num_tot_frases = 0 soma_cat_frases = 0 for lin in range(len(frases)): for col in range(len(frases[lin])): palavra_i = separa_palavras(int(frases[lin][col])) palavras.append(palavra_i) # palav.. = matriz, lista de listas num_tot_frases += 1 soma_cat_frases = soma_cat_frases + len(str(frases[lin][col])) mtrx_para_lista = [] # transform.. palavras de matriz para lista for lin in range(len(palavras)): for col in range(len(palavras[lin])): mtrx_para_lista.append(palavras[lin][col]) palavras = mtrx_para_lista[:] soma_comp_palavras = 0 num_tot_palavras = 0 for lin in range(len(palavras)): for col in range(len(palavras[lin])): soma_comp_palavras = soma_comp_palavras + len(str(palavras[lin][col])) num_tot_palavras += 1 ass_txt = [] ass_txt.append(tam_m_pal(soma_comp_palavras, num_tot_palavras)) ass_txt.append(type_token(palavras, num_tot_palavras)) ass_txt.append(h_lego(palavras, num_tot_palavras)) ass_txt.append(tam_m_sent(soma_cat_sentencas, num_tot_sentencas)) ass_txt.append(compx_med(num_tot_frases, num_tot_sentencas)) ass_txt.append(tam_m_frase(soma_cat_frases, num_tot_frases)) matriz_ass_input.append(ass_txt) return matriz_ass_input # matriz, lista de listas dos valores das assina.. def tam_m_pal(soma_comp_palavras, num_tot_palavras): if num_tot_palavras != 0: tam_m_pal = soma_comp_palavras / num_tot_palavras else: tam_m_pal = 0 return tam_m_pal def type_token(lista_palavras, num_tot_palavras): num_pal_dif = n_palavras_diferentes(lista_palavras) if num_tot_palavras != 0: type_token = num_pal_dif / num_tot_palavras else: type_token = 0 return type_token def h_lego(lista_palavras, num_tot_palavras): num_pal_uni = n_palavras_unicas(lista_palavras) if num_tot_palavras != 0: h_lego = num_pal_uni / num_tot_palavras else: h_lego = 0 return h_lego def tam_m_sent(soma_num_cat, num_sent): if num_sent != 0: tam_m_sent = soma_num_cat / num_sent else: tam_m_sent = 0 return tam_m_sent def compx_med(num_tot_frases, num_tot_sentencas): if num_tot_sentencas != 0: compx_med = num_tot_frases / num_tot_sentencas else: compx_med = 0 return compx_med def tam_m_frase(soma_cat_frases, num_tot_frases): if num_tot_frases != 0: tam_m_frase = soma_cat_frases / num_tot_frases else: tam_m_frase = 0 return tam_m_frase def separa_sentencas(texto): """ A funcao recebe um texto e devolve uma lista das sentencas dentro do texto. """ sentencas = re.split(r'[.!?]+', texto) if sentencas[-1] == '': del sentencas[-1] return sentencas def separa_frases(sentenca): """ A funcao recebe uma sentenca e devolve uma lista das frases dentro da sentenca. """ return re.split(r'[,:;]+', sentenca) def separa_palavras(frase): """ A funcao recebe uma frase e devolve uma lista das palavras dentro da frase. """ return frase.split() def n_palavras_unicas(lista_palavras): """ Essa funcao recebe uma lista de palavras e devolve o numero de palavras que aparecem uma unica vez. """ freq = dict() unicas = 0 for palavra in lista_palavras: p = palavra.lower() if p in freq: if freq[p] == 1: unicas -= 1 freq[p] += 1 else: freq[p] = 1 unicas += 1 return unicas def n_palavras_diferentes(lista_palavras): """ Essa funcao recebe uma lista de palavras e devolve o numero de palavras diferentes utilizadas. """ freq = dict() for palavra in lista_palavras: p = palavra.lower() if p in freq: freq[p] += 1 else: freq[p] = 1 return len(freq) def compara_assinatura(ass_main, matriz_ass_input): """ Essa funcao recebe duas assinaturas de texto e deve devolver o grau de similaridade nas assinaturas. """ lista_Sab = [] soma_mod = 0 if type(matriz_ass_input[0]) is list: for lin in range(len(matriz_ass_input)): for col in range(len(matriz_ass_input[lin])): soma_mod += abs(ass_main[col] - matriz_ass_input[lin][col]) Sab = soma_mod / 6 lista_Sab.append(Sab) return lista_Sab else: for i in range(len(matriz_ass_input)): soma_mod += abs(ass_main - matriz_ass_input) Sab = soma_mod / 6 return Sab def avalia_textos(textos_main, ass_comparadas): """ Essa funcao recebe uma lista de textos e deve devolver o numero (0 a n-1) do texto com maior probabilidade de ter sido infectado por COH-PIAH. """ aux_ass_com = ass_comparadas[:] aux_ass_com.sort() for indice in range(len(ass_comparadas)): if aux_ass_com[0] == ass_comparadas[indice]: copiah = indice return copiah
  12. Escreva um programa que usa três listas de valores, de mesmo tamanho, para representar fichas com informações sobre os bebês recém-nascidos. Uma destas listas deve conter a identificação de cada bebê (um número inteiro positivo), a segunda lista deve registrar o nome de cada bebê, enquanto a terceira lista deve conter o seu respectivo peso. O programa deve ler estas informações continuamente, parando quando for dado um número de identificação zero. Após, o programa deve exibir: a) o número de bebês registrados; b) o número, nome e o peso do bebê mais gordo; c) o número, nome e o peso do bebê mais magro; d) a média de peso dos bebês
  13. Ultimamente tenho me interessado por programação e desde aí tenho vindo a explorar o python. Corria tudo bem, estava a conseguir cumprir todas as tarefas propostas pelos tutorias do youtube, até que seleciona uma funcionalidade que não me permite que eum ficheiro mp3 seja lido como ficheiro mp3 mas sim como python file. A opção que cliquei foi: mark as python file. O meu código está aí em baixo: import pygame pygame.init() pygame.mixer.music.load('beat.mp3') pygame.mixer.music.play() pygame.event.wait() A imagem anexada mostra como é lido o ficheiro mp3. Não consigo fazer com que o programa reproduza o aúdio. Se alguém souber e me explicar ficarei muito agradecido.
  14. Olá, estou aprendendo sobre programação com o python e preciso de ajuda no seguinte: Como faço para que um aplicativo possa continuar rodando em segundo plano? Ou pelo menos com apenas uma aba flutuante (como é o caso do Shazam, por exemplo), ou até mesmo com apenas uma barra nas notificações... enfim espero que alguém possa me ajudar. Desde já, eu agradeço!
  15. Construa um programa orientado a objetos que implemente exatamente o diagrama de classes abaixo (seguir a mesma nomenclatura). Observações: 1. O método get_numero_paginas() retorna o número de páginas de um livro 2. O método autores() retorna uma lista com todos os autores de um livro 3. O método add_autor() adiciona um novo autor à lista de autores do livro. Quando um novo autor é adicionado a um livro, é preciso também fazer o processo reverso, adicionando o livro à lista de livros do autor. 4. O método lista_livros() retorna a lista de livros de um autor. 5. Os atributos de cada classe Autor devem ser informados na construtora da classe, sendo passados como dicionários (**kwargs). 6. O atributo título da classe Livro é obrigatório e deve ser parâmetro obrigatório na sua construtora. Também é obrigatório informar pelo menos um autor. Outros autores podem ser informados e devem ser passados na construtora como lista (*args). Os atributos subtítulo e numero_paginas são opcionais e podem ser passados na construtora como dicionário (**kwargs). Lembre que ao incluir um autor em um livro, este livro deve ser incluído na lista de livros do autor. Teste as classes criando alguns autores e alguns livros. Teste o programa incluindo vários autores em um livro e criando vários livros do mesmo autor. Imprima os autores de um livro e os livros de um autor utilizando uma estrutura de repetição.
  16. Pessoal problema é o seguinte: A entrada do programa é um numero inteiro N seguido de uma string S(um texto) que deve ter N linhas. A saída do programa é o numero de letras da maior palavra no texto, sendo que o texto pode conter espaços e pontuações. (observação: não é permitido usar funções de manipulação de strings) Alguém me ajuda.
  17. Bom eu estou fazendo meu jooj de rpg baseado em texto e queria salvar as variáveis tipo tem o arquivo Player.py la tem varias variáveis importantes e eu quero fazer elas serem iguais a informações na db mais não sei como se faz e tipo para poder atualizar os dados no db Repositorio GitHub:https://github.com/Eduardo-de-Oliveira-Santos/Text-rpg
  18. Elaborar um programa que tenha subprogramas e leia da entrada padrão nomes completos de pessoas, compostos de nome e sobrenome(s), até que uma string vazia seja lida. Na saída escreva cada nome e/ou sobrenome com mais de dois caracteres que foram digitados mais de uma vez, mostrando eles em ordem alfabética. Implementar subprogramas que tenha métodos de ordenação. Exemplo: Entrada Carlos Drummond de Andrade Juca Kifuri Armando Carlos de Andrade e Silva Luís Carlos Kifuri Ana Silva Rolim Mariane Ribeiro Saída Andrade Carlos Kifuri Silva
  19. Pessoal preciso de uma ajuda!! Eu tenho uma planilha que contém nome, formulario, email e a data que a pessoa irá receber o e-mail. Nisso estou tentando automatizar o envio de e-mails, porém estou com problemas no looping com dicionário que eu criei que vai preencher no corpo do e-mail o nome da pessoa o formulário que ela terá que responder. Segue o código abaixo: msg = MIMEMultipart() #Pegando dados para sorteio wb = xl.load_workbook('teste.xlsx') sheet = wb['SORTEIO'] data = '11/05' sorteioEmail = {} for r in range(2, sheet.max_row + 1): sorteio = sheet.cell(row = r, column=6).value if sorteio == data: nome = sheet.cell(row=r, column=2).value email = sheet.cell(row=r, column=4).value formulario = sheet.cell(row=r, column=5).value sorteioEmail[nome] = nome, formulario, email print(sorteioEmail[nome][1]) for k,v in sorteioEmail.items(): nome = f'{k}' formulario = #formulario vinculado a key toaddr = #email vinculado a key body = ( "<font size='5' color = 'blue' ><b><div align='center'>Que tal uma pausa para o café ???<span style='font-size:50px;'>&#9749;</span></div></font></b><br /><br />" "<font size='5'><b>Boa tarde %s,</font></b><br /><br />" "Você provavelmente já recebeu um email como este, mas não se assuste, estamos em uma nova etapa de teste do nosso app que desenvolvemos para coleta de dados offline do MELQO e precisamos novamente da sua ajuda. Por isso ao longo da semana estamos sorteando as pessoas para testarem o aplicativo.<br /><br />" "E hoje <b>VOCÊ</b> foi sorteado(a) !<br /><br />" "Em anexo, estamos enviando um manual que pode ajudar com esse processo.<br />" "<b>1.</b>Baixe o aplicativo no app da play store tem que ser a <b> ÚLTIMA VERSÃO 1.2.0</b><font color='red'> (funciona somente para android)</font>. O nome é ' e você poderá acessá-lo neste <'>link</a><br /><br />" "<p>&bull; <b>OBS1:</b> Caso você não tenha a disponibilidade de usar um android (seja por meio do tablet do lepes, ou o celular de algum amiguinho), por favor, apenas preencha o formulário falando que não conseguiu um dispositivo para testar o aplicativo.</p>" "<p>&bull; <b>OBS2:</b> O app foi feito para o tablet, então talvez a setinha do lado esquerdo do formulário pode não funcionar na configuração do celular!</p>" "<b>2.</b>Depois de instalá-lo, entre em:<br /><br />" "<b>Cidade:</b><br />" "<b>Usuários:</b> <br />" "<b>Senha:</b> <br /><br />" "<b>3.</b>Desabilite a internet do seu celular ! Queremos testá-lo offline<br /><br />" "<b>4.</b>Entre em 'Exibir formulários' e entre no formulário: <b>%s</b>.<br /><br />" "<b>5.</b>Ao preencher o formulário, verifique se há erro no funcionamento do app. Recomenda-se que inicialmente o formulário seja parcialmente preenchido. Em seguida, tente salvá-lo.<br />" "<p>&bull;Depois, vá em 'Editar Formulários' e continue preenchendo. Por fim, com acesso a internet, envie o formulário.</p>" "<p>&bull;Use sua criatividade para testar o app, pois os possíveis erros de funcionamento aparecerão conforme o uso. Nosso universo é igual o do Lucas Silva e Silva... 'onde tudo pode acontecer!</p>" "<p>&bull;Por exemplo, na hora de editar o formulário, volte para questões já preenchidas. Isso acontece muito em campo e a primeira versão do app estava travando ao fazer isso.Be free to use your imagination!</p>" "<b>6.</b>Agora precisamos saber o que você achou e se deu algum erro, se ocorreu tudo bem, etc. Por favor, não esqueça de deixar suas opiniões <a >aqui</a>.<br /><br />" "O horário limite do envio do formulário <b>É ATÉ HOJE ÀS 20 HORAS</b><br />" "Sua ajuda é de fundamental importância para conseguirmos detectar os possíveis problemas que o app pode conter, além de colaborar com o estudo Nacional que avaliará a qualidade da Educação Infantil do país. Já pensou na responsa Disso?<br /><br />" "Desde já, muito (MUITO) obrigado,<br />" "Equipe do MELQO<br /><br /><br />" "<font size='1'><b><div align='center'>Por favor, não responda a esse email. Criado com o pacote 'smtplib' do Python</div></b></font>" % (nome, formulario )) #print('%s\n%s' % (nome, formulario)) print(body)
  20. Bom qual e a melhor IDE para programar em Python? 1- Visual Studio Code (Porque?) 2- PyCharm(Porque?) 3- Sublime Text(Porque?)
  21. bom mais uma vez sobre meu jogo de rpg em texto eu quero fazer um arquivo com a def ex:Exibir Status tem como? Se sim como se faz? edit: Repositorio no GitHub https://github.com/Eduardo-de-Oliveira-Santos/Text-rpg
  22. estou desenvolvendo um jogo de rpg baseado em texto em python e quero criar um arquivo python com todas as variáveis tipo dinheiro vida etc pois pretendo fazer cada "cenário" em um arquivo .py tem como eu "importar" as variáveis desse arquivo para usar em outros ? se for possível como?
  23. #Trabalho Desenvolvimento de loja em Python. Calculo da analise de credito. salario = input('Informe seu salário?') anonascimento = input('Informe seu ano de nascimento?') #DICA DO PROFESSOR: calculado da seguinte forma: [salário x (idade / 1.000)] + 100. idade = 2020 - int(anonascimento) #PRECISO DE AJUDA NESTA ETAPA A SEGUIR. salario = float idade = int credito = [salario (idade / 1.000)] + 100 print('Já analisei seu crédito! Você poderá gastar na loja: ' + str(credito))
  24. Crie uma classe que defina um vetor no plano. Crie métodos para permitir obter o versor, módulo e somar ao vetor uma série de outros vetores (usando *args), calcular o produto escalar e produto vetorial Uma duvida é de como usar a função *args nos métodos que o enunciado pede, e se tenho que mudar os métodos e atributos anteriores? class Vetor: def __init__(self, x, y): self.__x = x self.__y = y def modulo(self): return (self.__x**2 + self.__y**2 )**(1/2) def versor(self): v1 = (self.__x)/(self.__x**2 + self.__y**2 )**(1/2) v2 = (self.__y)/(self.__x**2 + self.__y**2 )**(1/2) return v1, v2 def soma(self, *args): pass vetorA = Vetor(4,3) print("Modulo: ", vetorA.modulo()) print("Versor: ", vetorA.versor())
  25. Olá, estou começando em python agora e me veio uma dúvida extremamente grande na cabeça, talvez nem haja solução. Como resolvo isso? Vou dar um exemplo? Quero calcular a área de paredes (uma ou mais) tendo apenas a quantidade de paredes, o comprimento e a altura. Cada parede tem suas próprias medidas que se diferem uma das outras. Eu poderia fazer isso: (caso as paredes fosse iguais) q = int(input('quatidades de paredes:')) c = float(input('comprimento:')) a = float(input('altura:')) area = c * a areatotal = area * q print(f'a área total é: {areatotal}.') A minha dúvida está no que eu posso fazer para dar a área total em paredes de áreas distintas. Já pensei em tudo, mas com o meu conhecimento limitado em python (mas n só kk) não consegui. Se a resposta para a quantidade de paredes for maior que 1, eu terei medidas diferentes para trabalhar e não sei como posso perguntar qual é a altura e comprimento de cada uma parede que foi dada à resposta da pergunta "quantidade".
×
×
  • Criar Novo...