我正在尝试为Codecademy的课程调试这个,但找不到我做错了什么。如果有人可以提供帮助,那将是非常有帮助的。感谢您抽出宝贵时间阅读此消息。这是代码:
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")
}
答案 0 :(得分:5)
if (computerChoice === 0 to 0.33) {
这是无效的。试试这个:
if (computerChoice >=0 && computerChoice <=0.33) {
请注意,0.33
和0.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()
来确保一个漂亮的整数而不是一个浮点数(非整数),这是数组偏移所期望的。
最后,请参阅@eddflrs关于userChoice()
功能的说明。如果你想获得用户输入,为什么你会不断地递归调用你的函数?试试这个:
function getUserChoice () {
return window.prompt('Do you choose rock, paper, or scissors?');
}
console.log(getUserChoice());