gpt4 book ai didi

javascript - 我试图绘制随机数,直到找到某个数字,但为什么我的 for 循环计数器不工作?

转载 作者:行者123 更新时间:2023-11-30 19:36:34 25 4
gpt4 key购买 nike

我正在完成计算机入门类(class)的作业。对于这个任务,我们必须修复一个 javascript 函数,以便它提取变量的值,初始化一个计数器,并产生一个循环,该循环继续增加计数,直到找到某个数字。我的问题是我的代码版本似乎不起作用。

对于我将在下面详述的当前版本,我从每个“num”文本框中提取变量并开始构建 for 循环操作,其中每当生成 4 位数字时计数都会增加不是提取的“num”文本框中的值。我已经对相同的代码进行了几次测试,即使条件语句中的“count”变量更改为“i”变量,也没有任何效果。

我正在使用 random.js 库——可在此处找到 (http://balance3e.com/random.js)——以随机化循环“选择”。

我还尝试了其他循环版本,包括普通的 while 循环和 do/while 循环。

我的教授没有充分教授这些 Material 并且似乎“太忙”无法提供帮助,所以如果某些代码完全错误,我深表歉意。我试过了。

<!DOCTYPE html>
<html>
<head>
<title>PICK-4 Lotto</title>
<script type="text/javascript" src="random.js"> </script>
<script type="text/javascript">

function DrawUntilWinner()
// Assumes: user has entered 4 numbers in pick boxes
// Results: repeatedly generates pick-4 winners until match user pick
{
var num1, num2, num3, num4, pick1, pick2, pick3, pick4, count;

num1 = parseFloat(document.getElementById('num1').value);
num2 = parseFloat(document.getElementById('num2').value);
num3 = parseFloat(document.getElementById('num3').value);
num4 = parseFloat(document.getElementById('num4').value);

for (count = 1; count > 0; count++) {
pick1 = RandomInt(0, 9);
pick2 = RandomInt(0, 9);
pick3 = RandomInt(0, 9);
pick4 = RandomInt(0, 9);

if (pick1 != num1 || pick2 != num2 || pick3 != num3 || pick4 != num4) {
count ++;
}
}

document.getElementById('outputDiv').innerHTML = 'The number of picks needed to get '
+ num1 + '-' + num2 + '-' + num3 + '-' + num4 + ' was ' + count;
}
</script>
</head>
<body>
<div style="text-align: center">
<h2>Pick-4 Lotto</h2>
<p>
This page demonstrates the futility of lotteries. <br> Click on
the button to perform LOTTO drawings until <input type="text"
id="num1" size=1 value=0> <input type="text" id="num2"
size=1 value=0> <input type="text" id="num3" size=1 value=0>
<input type="text" id="num4" size=1 value=0> appears.
</p>
<input type="button" value="Click to begin drawing"
onclick="DrawUntilWinner()">
<hr>
<div id="outputDiv"></div>
</div>
</body>
</html>

正确的代码应该显示如下:https://i.imgur.com/1oW4Pau.jpg

但不是水平规则下的结尾“0”为“0”,而是循环后提取的 4 位数字所花费的总“计数”。

感谢您提供的所有帮助!

最佳答案

尝试替换

for (count = 1; count > 0; count++) {
pick1 = RandomInt(0, 9);
pick2 = RandomInt(0, 9);
pick3 = RandomInt(0, 9);
pick4 = RandomInt(0, 9);

if (pick1 != num1 || pick2 != num2 || pick3 != num3 || pick4 != num4) {
count ++;
}
}

像这样:

count = 0;

do {

pick1 = RandomInt(0, 9);
pick2 = RandomInt(0, 9);
pick3 = RandomInt(0, 9);
pick4 = RandomInt(0, 9);

count++;

} while (pick1 != num1 || pick2 != num2 || pick3 != num3 || pick4 != num4);

关于javascript - 我试图绘制随机数,直到找到某个数字,但为什么我的 for 循环计数器不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55894763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com