我有一個JavaScript聊天機器人,一個人可以在輸入框中鍵入任何他們喜歡的問題,並希望得到一個準確的答案。我可以做到這一點,但我知道我正在討論這一切都是錯誤的,因爲我不知道該數字在句子中會出現什麼位置。如果一個人正好輸入:數字搜索字符串
5這個工作正常的平方根是什麼。
如果他鍵入這樣的事情,它不會。
什麼的5
平方根5的平方根是什麼
你知道的5平方根是什麼
等
我需要能夠確定出現在句子中的數字,然後從那裏進行計算。請注意下面的行是更大的工作聊天機器人的一部分。在下面的行中,我只是試圖回答任何平方根問題,而不管數字在句子中出現的位置。我也知道有一個開放式輸入框有很多缺陷,人們可以輸入任何內容,比如拼寫錯誤等。這僅僅是爲了娛樂而不是一個嚴肅的科學項目。 :)
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;
}
只是要清楚,機器人使用「如果statemments」寫有一個原因。如果在這種情況下的輸入不包括單詞「what」和「square root」和「some number」,那麼該行不會觸發,並且被機器人用一個通用的「我不知道類型響應」。所以我希望任何答案都能符合我使用的格式。善良,我是新來的。我喜歡製作機器人,但我不是一個程序員。謝謝。
哇。你一定要把你的娛樂提高到很高的水平。 :) –