![](/img/trans.png)
[英]How do I properly use an if then else statement with jQuery/javascript?
[英]How to properly use if else and else if
我正在使用代碼學院課程,並且正在學習如何根據隨機數字制作剪刀石頭布游戲。 它說我做得“不錯”,但是每次我嘗試正確地使每個人正確顯示各自的條件時,都會搞砸。
請留下評論以指出錯誤,並提供以后避免它的提示。
條件-0至.33 =岩石-.34至.66 =紙張-.67至1 =剪刀
JS代碼
var userChoice = prompt("Rock, Paper, or Scissors?");
var computerChoice = Math.random();
console.log(computerChoice);
if (computerChoice <= 0.33) {
console.log("Rock");
}
else if (0.34 < computerChoice < 0.66) {
console.log("Paper");
}
else {
console.log("Scissors");
}
也許問題出在這一行:
else if (0.34 < computerChoice < 0.66) {
嘗試這個:
else if (0.35 < computerChoice && computerChoice < 0.67) {
最好閱讀一本編程書籍,或者閱讀一些有關循環的在線教程,無論如何,使用下面的代碼可以解決您的問題
var userChoice = prompt("Rock, Paper, or Scissors?");
var computerChoice = Math.random();
console.log(computerChoice);
if (computerChoice <= 0.33)
{
console.log("Rock");
}
else if(computerChoice>=0.34&&computerChoice<=0.66)
{
console.log("Paper");
}
else if(computerChoice>=0.67&&computerChoice<=1)
{
console.log("Scissors");
}
else
{
console.log("Invalid input");
}
每個人似乎都會犯的錯誤是您可以擁有0.331,並且評估結果為“剪刀”。 邏輯更合理,如下所示:
var result = (computerChoice >= 0.67 ? "Scissors" : (computerChoice >= 0.34 ? "Paper" : "Rock"));
console.log(result);
我不想成為第十個回答者,但是給出的所有答案都是不好的。 你明白
else if (0.34 < computerChoice < 0.66) {
是錯誤的語法,對嗎? 好的,讓我們也解決偏差問題:0.33小於三分之一,並且0.33和0.34之間的所有數字均默認為剪刀。 如果要平均分配,最簡單的方法是使用提前退出功能:
function computerChoice() {
var v = Math.random();
if (v < (1.0 / 3.0)) return "rock";
if (v < (2.0 / 3.0)) return "paper";
return "scissors";
}
這與雙精度浮點數所允許的效果一樣好,對於大多數用途而言,這已經足夠了。
if(computerChoice>=0&&computerChoice<=0.33)
{
console.log("Rock");
}
else if(computerChoice>=0.34&&computerChoice<=0.66)
{
console.log("Paper");
}
else if(computerChoice>=0.67&&computerChoice<=1)
{
console.log("Scissors");
}
嗨,我假設您驗證的隨機數范圍是0到1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.