Ho un bot di chat javascript in cui una persona può digitare in una casella di input qualsiasi domanda a loro piace e sperare di ottenere una risposta accurata. Posso farlo, ma so che sto sbagliando tutto questo perché non so in che posizione apparirà il numero nella frase. Se una persona digita esattamente:Stringa di ricerca per numeri
qual è la radice quadrata di 5 funziona correttamente.
Se digita in cose come questa no.
qual è la radice quadrata del 5
la radice quadrata di 5 è quello che
Sapete che cosa la radice quadrata di 5 è
ecc
ho bisogno di essere in grado di determinare dove il numero appare nella frase, quindi eseguire il calcolo da lì. Nota che la riga sottostante fa parte di un chatbot funzionante più grande. Nella riga seguente sto solo cercando di essere in grado di rispondere a qualsiasi domanda radice quadrata indipendentemente da dove il numero appare nella frase. So anche che ci sono molte insidie con una casella di immissione aperta dove una persona può digitare qualsiasi cosa come errori di ortografia ecc. Questo è solo per l'intrattenimento non è un progetto scientifico serio. :)
if(
(word[0]=="what's") &&
(word[1]=="the") &&
(word[2]=="square") &&
(word[3]=="root") &&
(word [4]=="of") &&
(input.search(/\d{1,10}/)!=-1) &&
(num_of_words==6)
){
var root= word[5];
if(root<0){
document.result.result.value = "The square root of a negative number is not possible.";
}else{
word[5] = Math.sqrt(root);
word[5] = Math.round(word[5]*100)/100
document.result.result.value = "The square root of "+ root +" is "+ word[5] +".";
}
return true;
}
tanto per essere chiari il bot è stato scritto utilizzando "Se statemments" per un motivo. Se l'input in questo caso non include le parole "what" e "square root" e "some number" la linea non si innesca e viene risposto più in basso dal bot con un generico "Non so tipo di risposta". Quindi spero che qualsiasi risposta si adatti al formato che sto usando. Sii gentile, sono nuovo qui. Mi piace fare bot, ma non sono un gran programmatore. Grazie.
Wow. Sei sicuro di portare il tuo divertimento ad alti livelli. :) –