在我的udemy课程中,我们刚被介绍给JS! 我喜欢这种语言,现在我几乎是新手。 希望您能对我有所帮助,我希望我的代码不断要求用户猜测我设置为sercretNumber的年龄。
我遇到2个问题:
1)我认为我的代码可以而且需要更短一些,也许使用一些OR和AND。
2)我无法告知用户该数字是否为负或大于100,请说出-您的电话号码必须为1-100,以再次提示用户输入。 我让它工作一次就消失了!
这是Js代码:
var secretNumber=98;
var numbGues=Number(prompt("Can you guses My age? (Hint - its 1-100"))
while (numbGues!=secretNumber){
// here I want this message to keep repeating if the user enters a non-valid input such as: -987 , or 54564654//
if (numbGues<0 || numbGues>100 ){
var numbGues=Number(prompt("Pleae choose a valid number between 1-100"))
}
if (numbGues<secretNumber){
var numbGues=Number(prompt("Too low! try again"))
}
else if (numbGues>secretNumber) {
var numbGues=Number(prompt("Too High! Try again!"))
}
if (numbGues==secretNumber) {
alert("You guessed it!")
}
}
答案 0 :(得分:0)
考虑if-if-else if,if结构。可以简化它。一旦涵盖了所有基础,则不需要其他条件,只需要一个else即可结束条件语句。
关于第二点,在您的第一条if语句中,您已经在提示用户输入您提到的相同情况。只需将其替换为要在该块中显示的错误消息即可。
答案 1 :(得分:0)
一点点更改了您的代码。您需要更改
if (numbGues==secretNumber) {
alert("You guessed it!")
}
此if语句。最终您的代码如下所示。
var secretNumber=98;
var numbGues=Number(prompt("Can you guses My age? (Hint - its 1-100"));
while (numbGues!=secretNumber){
// changed if else statements
if (numbGues<0 || numbGues>100 ){
numbGues=Number(prompt("Pleae choose a valid number between 1-100"));
}else if (numbGues<secretNumber){
numbGues=Number(prompt("Too low! try again"));
}else if (numbGues>secretNumber) {
var numbGues=Number(prompt("Too High! Try again!"));
}
}
//you need to check this if statement in here otherwise if user entered secret number first time didn't show any alert
if (numbGues==secretNumber) {
alert("You guessed it!")
}