提问人:Princessa 提问时间:11/1/2023 最后编辑:Jaromanda X Princessa 更新时间:11/1/2023 访问量:63
我想通过提示方法将用户输入的任何不同数字分开
I want to divide any different numbers entered by user through prompt method
问:
我想要的是用户输入他或她想要除以的数字的限制,然后我可以除以它们。就像用户说限制是 4,然后输入 60/2/3/5 这样的数字来给出 2。
case 'division':
function division(){
let num = 0;
let division = 1;
let div=division
let i = 0;
window.ask=prompt('Enter the limit of the numbers to be multiplied');
while(i<window.ask){
let num=parseInt(prompt('Enter the numbers one by one '));
division= num/division;
if(division=num){
div=div/num;
}
i++;
}
alert("The result is "+div);
}
division();
break;
我尝试过这个,期望在输入第一个数字后它会除以 1,如果除法等于变量“num”中存储的数字,那么 div 会将除法结果除以用户在下一轮输入的“num”中存储的值,但我得到堆栈,因为 60/2/3/5 的结果是 0.0005,此外我想使用 while 循环能够计算用户可以输入的任何限制,而不仅仅是 3 0r 4 数字。
答:
0赞
mandy8055
11/1/2023
#1
所以你的代码中有几个错误。让我们一一看。
- 您尚未首次应用将输入数字等同于 的条件。
division
- 在你的 if 语句中,你不是比较,而是将除法分配给 num,这总是正确的。
下面是解决上述问题的代码,可为您提供预期的输出。
<!DOCTYPE html>
<html>
<body>
<script>
switch('division'){
case 'division':
function division(){
let division = 1;
let i = 0;
window.ask = prompt('Enter the limit of the numbers to be divided');
while(i < window.ask){
let num = parseInt(prompt('Enter the numbers one by one '));
if(i === 0){ // <-------- Note this condition. You can use ternary as well. Just for clarity I used if
division = num;
}else{
division = division / num;
}
i++;
}
alert("The result is "+ division);
}
division();
break;
}
</script>
</body>
</html>
编辑:
- 为什么添加 if 语句?
好吧,根据您共享的代码,最初是 1。现在,对于用户将输入的第一个数字,没有除数,因为我们只有一个数字,因此将等于该输入数字。第二次以后我们有股息(除法的前一个值,即 根据您的示例)和除数(新提供的输入,即 根据您的示例),因此从下次开始,划分将按照预期进行。
division
division
60
2
评论
1赞
Princessa
11/1/2023
好吧,谢谢,我想问题现在已经解决了
0赞
Princessa
11/1/2023
好吧,如果您不介意,请您为我解释一下 if 语句和 3 等号 (===) 的原因吗?
0赞
Princessa
11/1/2023
好的,谢谢你
1赞
Princessa
11/1/2023
这是一个很好的答案,感谢您的帮助
上一个:这个表达的结果不是我学到的
评论
if(division=num){
if(division==num){