javascript - 调用函数并在 while 循环内分配值。骰子作业问题
问题描述
我每次都不确定。我似乎无法为骰子 1 和骰子 2 提供任何输出。
我将 while 语句更改为 for 语句,看看这是否是问题所在。我试图将条件(numberOfSides < 3 && dice1 != dice2 但这会继续提示我输入一个新的 numberOfSides。我基本上已经在尝试重新排列变量时弄乱了这个东西。
return Math.floor(Math.random() * (max + 1 - min)) + min;
}
var numberOfSides2 = numberOfSides
var dice2 = 0;
var dice1 = 0;
var numberOfRoles = 0;
var numberOfSides = parseInt(prompt("how many sides does your dice have, "));
while (numberOfSides < 3) {
numberOfSides = parseInt(prompt("enter the amount a number greater than 3, "));
}
while (dice1 != dice2) {
dice1 === getRandomInt(numberOfSides, numberOfSides2);
dice2 === getRandomInt(numberOfSides, numberOfSides2);
++numberOfRoles}
if (dice1 != dice2) {
alert(dice1);
}
我不断收到未定义的消息。我越是尝试修复它并重写它,我似乎犯的错误就越多。我应该让它看起来像这样,但首先,我想确保我可以在运行一个函数后让它输出一些东西。
你的骰子有几面?-10 抱歉,这不是有效的大小值。请选择一个正数。你的骰子有几面?6
谢谢!开始了 ...
- 1 号骰子是 5,2 号骰子是 3。
- 1 号骰子是 2,2 号骰子是 2。
- 1 号骰子是 1,2 号骰子是 5。
- 1 号模具是 5,2 号模具是 1。...(这些三个点表示输出继续进行,但只是不用于样本,因此我们节省了空间)
- 1号骰子是1,2号骰子是1。
你有蛇眼!最后!尝试16号!一路上,你掷了 5 次双倍骰子 #1 的平均掷骰数为 2.95 骰子 #2 的平均掷骰数为 3.20
解决方案
- 我看不到 numberOfSides2 变量的意义,因为 getRandomInt 函数总是将 1 作为其最小值,并将用户的输入作为最大值。
- '===' 是一个比较运算符,因此您不能使用它将骰子数分配给随机整数。
- 目前尚不清楚您希望循环在什么时候停止,因此当用户滚动双倍时,以下代码会停止。
getRandomInt = (min, max) => {
return Math.floor(Math.random() * (max + 1 - min)) + min;
};
let numOfSides = parseInt(prompt('how many sides does your dice have, '));
let dice1 = getRandomInt(1, numOfSides);
let dice2 = getRandomInt(1, numOfSides);
let numOfRoles = 1;
while (numOfSides < 3) {
numOfSides = parseInt(prompt('enter the amount a number greater than 3, '));
}
while (dice1 != dice2) {
dice1 = getRandomInt(1, numOfSides);
dice2 = getRandomInt(1, numOfSides);
numOfRoles++;
console.log(dice1);
console.log(dice2);
console.log('---');
}
if (dice1 === dice2) {
console.log('matching pair is ' + dice1);
}
要回答您的问题,您的代码将始终为 dice1 和 dice2 的值返回 0,因为您使用的是 '===' 而不是 '='。
推荐阅读
- git - 设计被结帐错误覆盖的目的
- splunk - 从 ossec 升级到 wazuh - “本地/独立”模式?
- spring-data-jpa - 以通用方式扩展 JpaRepository,同时可以访问它的方法(即没有新的基础项目存储库或单存储库扩展接口)
- sql-server - 窗口函数没有给出运行总数
- bad-gateway - 我想通过拦截器重现 502 bad gateway 错误。任何步骤如何重现它?
- amazon-web-services - sagemaker 'metric_definitions' 没有给出任何结果
- assembly - 使用 Dosbox 比较汇编语言 [MASM] 中的浮点数
- ruby-on-rails - 将数据从一个(可怕的)数据库增量复制到 Rails 中的另一个(更好的)数据库
- pytorch - 使用 PyTorch 模型执行推理时子进程挂起
- python - 如何删除 Wordcloud 中的标点符号?