javascript – Era pra aparecer uma canvas com borda de 5 pixels preta e quando você clicava dentro da canvas ele fazia um alerta “ola”…mas não apareceu, porque?

var canvas, ctx, altura, largura frames = 0;
function cliques(event){
alert(“ola”);
}

function main(){
altura = window.innerHeight;
largura = window.innerWidth;
  
  if (largura >= 500){
  largura = 600;
  altura = 600;
  }
canvas = document.createElement("canvas");
canvas.width = largura;
canvas.height = altura;
canvas.style.border = "5px solid #000";
 ctx = canvas.getContext("2d");
 document.body.appendChild(canvas);
 document.addEventListener("mousedown", clique);
}
function roda(){}

function atualiza(){}

function desenho(){}
//inicializa
main();

Privilégio no MySQL. Quero criar um usuário e dar uma permissão onde ele só vai poder setar o valor se esse for status_pedido = ‘aberto’

Tenho uma tabela Pedido onde tem uma coluna status_pedido, quero criar um usuário que só terá acesso a essa tabela e também poderá setar esse valor apenas se o status for status_pedido=’aberto’. Tem como fazer isso apenas no MySql?

ruby – Por que ao cortar um array fora do intervalo ele não está devolvendo ‘nil’?

A documentação ruby fala que ao tentar “cortar” um array usando um índice inválido ele irá devolver nil, então porque eu recebo sempre um array vázio no índice após o último índice válido?

array = [0, 1, 2]

# retornando um array vazio como esperado
p array[2,0] # []

# o índice 3 não existe então por que ele retorna '[]'?
p array[3,0] # []

# fora do intervalo retorne 'nil'
p array[4,0] # nil

python – Como consigo fazer q essa pergunta fique dando entrada na lista ele faz a pergunta várias vezes e depois armazena elas

O engraçado é que eu me encontrei com uma trava na mesma

Segue o enuciado:

Escrever um programa que receba a o nome da região e a quantidade de habitantes das cinco regiões do
país. Guarde os nomes das regiões em uma lista e a quantidade de habitantes em outra. Crie uma terceira lista
e coloque o percentual que a população de cada região representa em relação ao total de habitantes do país.
Exiba o nome da região, a quantidade de habitantes e o percentual calculado para cada uma das regiões.

r = input("digite o nome da região")


n_hab = int(input("digite a quantidade habitantes dessa região"))

reg = ()

q_hab = ()

porcent = ()

Fiz a modiificação colocando o append
e ele agora está assim:

r = input("ndigite o nome da região")

n_hab = int(input("ndigite a quantidade habitantes dessa região"))

reg = ()

q_hab = ()

porcent = ()

reg.append(r)

q_hab.append(n_hab)

Porque ele está mostrando algo que não deveria?

Bom, ainda sou muito novo no mundo da programação e estou tentando fazer um simples código onde ele diz se o triângulo é isósceles, escaleno ou equilátero dependendo da medida dos lados digitada. Porém, se eu digitar todas as medidas iguais, ao invés dele apenas dizer que o triângulo é equilátero (todos os lados são iguais), ele tambem diz que é isósceles (apenas dois lados são iguais).

Exemplo:

Digite o valor do primeiro lado:
10
Digite o valor do segundo lado:
10
Digite o valor do terceiro lado:
10
O triângulo é equilátero.
O triângulo é isósceles.
BUILD SUCCESSFUL (total time: 7 seconds)

Esse é o código:

int lado1, lado2, lado3;
    Scanner leia = new Scanner(System.in);
    System.out.println("Digite o valor do primeiro lado:");
    lado1 = leia.nextInt();
    System.out.println("Digite o valor do segundo lado:");
    lado2 = leia.nextInt();
    System.out.println("Digite o valor do terceiro lado:");
    lado3 = leia.nextInt(); 
    
    if ((lado1 == lado2) && (lado2 == lado3) && (lado3 == lado1)) {
        System.out.println("O triângulo é equilátero.");
    }
    
    if ((lado1 != lado2) && (lado2 != lado3) && (lado3 != lado1)) { //O != significa diferente
        System.out.println("O triângulo é escaleno.");
    }
    
    if ((lado1 == lado2) || (lado2 == lado3) || (lado3 == lado1)) {
        System.out.println("O triângulo é isósceles.");
    }

Alguém sabe me dizer o problema?

quando inicio o elixir no terminal ele me retorna este erro como posso resolver?

elixir -v
{"init terminating in do_boot",{‘cannot get bootfile’,’C:Program Fileserl10.3/bin/start.boot’}}
init terminating in do_boot ({cannot get bootfile,C:Program Fileserl10.3/bin/start.boot})

Estou tentando hospedar meu site usando xampp e ele esta dando o seguinte erro

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:xampphtdocsbd.php:21 Stack trace: #0 C:xampphtdocshome.php(3): include() #1 C:xampphtdocsindex.php(15): include_once('C:\xampp\htdocs...') #2 {main} thrown in C:xampphtdocsbd.php on line 21

Alguem poderia me ajuda?

Gostaria de saber como faço para clica em uma lista de nomes quero que ele click em um de cada vez mais ele só está clicando no ultimo da lista

insira o código aqui

for nome in clicando_nomes:

            lista_de_nomes.append(nome.text)
            print(nome.text,sleep(9) )

            with open(' click nomes.txt', "a", encoding="utf-8") as arquivo:
                arquivo.write(str(nome.text) + "n")
        self.wait.until(
            CondicaoExperada.visibility_of_all_elements_located(
            (By.CLASS_NAME, 'md_modal_list_peer_name')))            
        nome.click()      
                                  
        lista_de_username = ()

        usernames = self.driver.find_elements_by_xpath(
            '//div(@ng-if="user.username")')
        for username in usernames:

            lista_de_username.append(username.text)
            print()
            with open(' user names.txt', "a", encoding="utf-8") as 

arquivo:
arquivo.write(str(username.text) + “n”)
print(username.text)

        sleep(2)
        pyautogui.press('ESC')

Como parar um evento apos ele ter chegado ao seu estado final

Estou fazendo uma animação para um site de portfólio, e estou tentando aplicar um evento com javascript, e queria q apos q o evento ocorresse uma vez, ele pausasse por completo, porem n sei como fazer isso, até então o que eu consegui foi com mouseOver, mas ele acaba se repetindo toda vez q movo o mouse

document.getElementById("SobreMim").onmouseover = function() {mouseOver()};

function mouseOver() {
    let option = {
        size: 160,
        value: 0.90,
        fill:{color:"#ee0505"}
    }
    $(".card .bar").circleProgress(option).on('circle-animation-progress',
    function(e, progress, stepValue){
        $(this).parent().find("span").text(String(stepValue.toFixed(2).substr(2)) + "%");
    });
    $(".css .bar").circleProgress({
        value:0.85,
    });
    $(".js .bar").circleProgress({
        value:0.60,
    });
};
#skillBlock{
  display: flex;
  align-items: center;
  width: 45vw;
  max-width: 650px;
  justify-content: space-between;
  margin: 0px 0px 0px 20px;
}
.card{
  width: 200px;
  height:225px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.bar{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
}
.bar img{
  position: absolute;
  width: 80px;
  top:20px;
}
.bar span{
  font-family: "Fugaz One";
  font-size: 1.8em;
  color: #fff;
  margin-top: 15px;
}
<div id="skillBlock">
                <div class="card">
                    <div class="bar"><img src="Imgs_Site/html.png"><span></span></div>
                </div>
                <div class="card css">
                    <div class="bar"><img src="Imgs_Site/css.png"><span></span></div>
                </div>
                <div class="card js">
                    <div class="bar"><img src="Imgs_Site/js.png"><span></span></div>
                </div>
            </div>