Jump to content

Número variável de inputs


xx_mola

Recommended Posts

Estou a desenvolver um bot de whatsapp em python e queria perguntar quantos Contactos,  e depois com o numero que ele disse exemplo 3 criasse 3 variáveis com inputs de "digite o contacto"

Exemplo:

quantos = input("Quantos contactos?:") Por exemplo: 6

con1 = input ...
con2 = input ...
con3 = input ...
con4 = input ...
con5 = input ...
con6 = input ...


Se ele digitasse 8 (Contactos)

criava 8 variaveis:

con1 =
con2 = 
con3 =
etc..

Por favor alguém me ajude

Edited by xx_mola
Link to comment
Share on other sites

Boas, assim de repente acho que podias criar um while loop para o número que o utilizador introduzir para ires buscar os valores.

Para os armazenar usa por exemplo um dicionário ou uma lista.

Boa sorte.

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Link to comment
Share on other sites

Vou te enviar o código:

Poderia me ajudar melhor, sou iniciante

from selenium import webdriver
import time

mensagem = input("Digite a mensagem que quer mandar:")
print()
con1 = input("Digite o contacto:")
con2 = input("Digite o contacto:")
con3 = input("Digite o contacto:")
con4 = input("Digite o contacto:")
con5 = input("Digite o contacto:")


class WhatsappBot:
    def __init__(self):
        self.mensagem = mensagem
        self.grupos = [con1, con2, con3, con4, con5]
        options = webdriver.ChromeOptions()
        options.add_argument('lang=pt')
        self.driver = webdriver.Chrome(executable_path=r'./chromedriver.exe')

    
    def EnviarMensagens(self):
        self.driver.get("https://web.whatsapp.com/")
        time.sleep(30)
        for grupo in self.grupos:
            grupo = self.driver.find_element_by_xpath(f"//span[@title='{grupo}']")
            grupo.click()
            time.sleep(2)
            barra = self.driver.find_element_by_class_name('_3uMse')
            barra.click()
            time.sleep(2)
            barra.send_keys(self.mensagem)
            enviar = self.driver.find_element_by_xpath('//span[@data-icon="send"]')
            enviar.click()
            time.sleep(2)


bot = WhatsappBot()
bot.EnviarMensagens()




Edited by xx_mola
Link to comment
Share on other sites

Boas, pois antes de tentares fazer coisas mais complicadas devias primeiro ver as mais simples...

from selenium import webdriver
import time

mensagem = input("Digite a mensagem que quer mandar:")
print()
NumeroContatos = int(input("Digite para quantos utilizadores quer mandar a mensagem:")) #aqui vai converter o texto para número inteiro
print()
contador = 0
contactos = [] # Lista para onde vais enviar os contactos introduzidos
while contador != NumeroContatos: #Enquanto o contador não for igual ao Numero de contactos introduzidos pelo utilizador, vai repetir
    contacto= int(input("Digite o contacto:")) #aqui converte o texto para número inteiro
    contactos.append(contacto) #adiciona o contacto à lista de contactos
    contador +=1

print(contactos)

class WhatsappBot:
    def __init__(self):
        self.mensagem = mensagem
        self.grupos = contactos # aqui vais enviar a lista de contatos
        options = webdriver.ChromeOptions()
        options.add_argument('lang=pt')
        self.driver = webdriver.Chrome(executable_path=r'./chromedriver.exe')

Não tem muito que saber, comentei o código para que percebas melhor, mas basicamente vais repetir a mensagem a pedir o contacto até ser igual ao número de contactos que o utilizador introduziu.

Esses contactos são adicionados a uma lista.

Na classe WhatsappBot em vez de passares os contactos um a um, como estavas a fazer, mandas logo a lista de contactos.

Boa sorte.

  • Vote 1

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.