gpt4 book ai didi

javascript - 基本的 JavaScript : Counting Cards - Card Counting Function with Strings

转载 作者:行者123 更新时间:2023-11-30 14:31:10 25 4
gpt4 key购买 nike

卡片功能已经解释了很多遍,明白了。对于那些不知道的人:我的函数接收一个卡片参数,它可以是数字或字符串。然后,我根据卡的值 2、3、4、5、6 递增或递减全局计数变量,7、8、9 将其保持为 0,而 10、J、Q、K、A 将其递减。然后,我的函数返回一个包含当前计数的字符串,如果计数为正,则返回字符串“Bet”,如果计数为负,则返回“Hold”。

所以我明白了这个功能是如何完成的,并且 FreeCodeCamp 接受了我的解决方案,因为它在技术上符合他们的条件。但是有一个关于这个功能的问题:

var count = 0;

function cc(card) {
if (card >= 2 && card <= 6) {
count++;
} else if (card >= 7 && card <= 9) {
count += 0;
} else {
count--;
}

if (count <= 0) {
return count + " Hold";
} else {
return count + " Bet";
}
}

console.log(cc(2));
console.log(cc(3));
console.log(cc(7));
console.log(cc('K'));
console.log(cc('A'));

如我所见,第一个条件相当简单且易于定义,else if 也是如此。第三种情况,既有数字也有字符串。这是否意味着当我将任何字符串放入 cc 时,它都会递减?因为任何不在 2 和 6 或 7 和 9 之间的东西都会自动递减?即使用户输入的不是卡片或不是列表中的值?

我知道有一个预定义卡值和名称的列表,但是,有没有更好的方法来调整我的语句以确保我的条件仅在卡为 10、J、Q、K 时运行或 A,而不是任何其他值?

最佳答案

您可以更改当前的 else,以返回错误消息或在输入为无效卡片的情况下立即返回,并添加另一个 else-if 以通过 Ace 检查 10:

if (card >= 2 && card <= 6) {
count++;
} else if (card>=7 && card <=9) {
count+= 0;
} else if (card === 10 || card === 'J' || card === 'Q' || card === 'K' || card === 'A'){
count--;
}else {
//Either just return or alert an error message and return
}

关于javascript - 基本的 JavaScript : Counting Cards - Card Counting Function with Strings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51142908/

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