带有函数和随机数发生器的 JavaScript if/else 语句

标签 javascript function if-statement

我正在尝试在 Codecademy 上的类(class)中对此进行调试,但找不到我做错了什么。如果有人可以提供帮助,那将非常有帮助。感谢您花时间阅读此消息。代码如下:

var userChoice = function (string) {
    userChoice(window.prompt("Do you choose rock, paper, or scissors?"));
}

var computerChoice = Math.random();
console.log(computerChoice)

if (computerChoice === 0 to 0.33) {
    console.log("rock")
} else if (computerChoice === 0.34 to 0.66) {
    console.log("paper")
} else if (computerChoice === 0.67 to 1) {
    console.log("scissors")
}

最佳答案

if (computerChoice === 0 to 0.33) {

这是无效的。试试这个:

if (computerChoice >=0 && computerChoice <=0.33) {

请注意 0.330.34 之间有数字!您的第二个条件应该是 computerChoice >0.33 而不是使用 0.34

如果您确实想从项目列表中选择随机项目,请考虑使用数组。参见这篇文章:Get random item from JavaScript array

var items = ['rock', 'paper', 'scissors'];
console.log(items[Math.floor(Math.random()*items.length)]);

本例中的数组 items 包含所有可能的选择。我们得到一个随机数并乘以可能的项目数 (items.length)。然后,我们使用 Math.floor() 来确保一个好的整数而不是 float (非整数),这是数组偏移量所期望的。

最后,请参阅 @eddflrs 关于您的 userChoice() 函数的注释。如果您想获取用户输入,为什么要不断递归地调用您的函数?试试这个:

function getUserChoice () {
    return window.prompt('Do you choose rock, paper, or scissors?');
}
console.log(getUserChoice());

关于带有函数和随机数发生器的 JavaScript if/else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21506105/

相关文章:

python - 查找函数的最小值和最大值

python - 子进程:执行两个或多个preexec_fn

c++ - 哪个更好 : returning tuple or passing arguments to function as references?

java - InputMismatchException:无法识别字符串

javascript - 带有 Angular 形式输入的 ngModelOptions

javascript - 自动导航 JavaScript 驱动的网站

javascript - Angular promise 行为

javascript - Mongodb - 为什么我的 Users.findOne 未定义?

python - 使用 if False 并在不停止 Loop 的情况下打印

java - 计算每天的命中率