猜字母A-Z
Guessing a letter A-Z
所以,这是任务。无法解决,求助。
check_guess() 接受 2 个字符串参数:字母和猜测(都需要单个字母字符)
- 如果猜测不是字母字符打印无效和 return False - 如果猜测是 "high" 或 "low" 和 return 则测试并打印 False - 如果猜测是 [ 则测试并打印=25=] 和 return 真
字母猜
创建 letter_guess() 给用户 3 次猜测的函数
采用字母字符参数作为答复字母
获取字母猜测的用户输入
调用 check_guess() 并给出答案和猜测
结束 letter_guess 如果
check_guess() 等于真,return 真
或 3 次尝试失败后,return False
首先我无法解决 3 次尝试。第二个问题是,当我为 ex.
输入数字时,我不能出错
letter = "J"
tries = 3
guess = input ("Enter your guess ")
def check_guess (guess, letter):
if letter == guess.upper():
print ("correct")
True
return
elif letter < guess.upper():
print ("You are wrong, but go closer to A")
False
return
elif letter > guess.upper():
print ("You are wrong, but go closer to Z")
False
return
def letter_guess (guess, letter, tries):
if check_guess (guess, letter) == True:
pass
elif check_guess (guess, letter) == False:
tries - 1
return
if tries == 0:
print ("GAME OVER!")
else:
check_guess (guess, letter)
您没有使用 letter_guess
函数,也没有从 check_guess
函数返回结果(None
除外)。
试试这个:
letter = "J"
tries = 3
def check_guess (guess, letter):
if not guess.isalpha():
print("Invalid")
return False
if letter == guess.upper():
return True
elif letter < guess.upper():
print ("Your guess is High")
return False
else:
print ("Your guess is Low")
return False
def letter_guess():
for i in range(tries):
guess = input ("Enter your guess ")
res = check_guess (guess, letter)
if res:
print ("Correct!")
return True
return False
result = letter_guess()
if result:
print ("Congratulations")
else:
print ("The answer was ",letter)
print ("GAME OVER!")
您可以通过删除 letter_guess 函数并将所有游戏逻辑压缩到一个函数中来简化您的代码。
然后为了解决尝试 3 次的问题,我做了一个 while 循环,循环直到尝试 == 0。当循环遇到猜测错误的语句时,它会减去一次尝试。
我还得搬
guess = input ("Enter your guess ")
进入 while 循环,这样它将迭代多次并为三个不同的尝试获取输入。
correctLetter = "J"
def check_guess (letter):
tries = 3
while tries > 0:
guess = input ("Enter your guess ")
if letter == guess.upper():
print ("Correct!")
break
elif letter < guess.upper():
if tries > 1:
print ("You are wrong, but go closer to A")
tries = tries - 1 #Moves you closer to finishing the loop
elif letter > guess.upper():
if tries > 1:
print ("You are wrong, but go closer to Z")
tries = tries - 1 #Moves you closer to finishing the loop
if tries == 0:
print ("GAME OVER!")
check_guess(correctLetter)
旁注:对于 return 函数中的任何值,该值需要直接跟在 return 语句之后,如下所示:
return True
希望对您有所帮助!
这完成了同样的事情,但使用了两个不同的函数。
correctLetter = "J"
tries = 3
def letter_game(tries, correctLetter):
for i in range(tries):
guess = input ("Enter your guess ")
if letter_check(correctLetter, guess) == True:
print("Correct!")
break
if letter_check(correctLetter, guess) != True:
print("Game Over!")
def letter_check(l1, l2):
if l1 == l2.upper():
return True
elif l1 > l2.upper():
print ("You are wrong, but go closer to Z")
return False
elif l1 < l2.upper():
print ("You are wrong, but go closer to A")
return False
else:
return False
letter_game(tries, correctLetter)
函数letter_game运行游戏,letter_check函数returns一个布尔值,对应猜中的字母是否匹配正确的字母。
所以,这是任务。无法解决,求助。
check_guess() 接受 2 个字符串参数:字母和猜测(都需要单个字母字符) - 如果猜测不是字母字符打印无效和 return False - 如果猜测是 "high" 或 "low" 和 return 则测试并打印 False - 如果猜测是 [ 则测试并打印=25=] 和 return 真
字母猜
创建 letter_guess() 给用户 3 次猜测的函数
采用字母字符参数作为答复字母 获取字母猜测的用户输入 调用 check_guess() 并给出答案和猜测 结束 letter_guess 如果 check_guess() 等于真,return 真 或 3 次尝试失败后,return False
首先我无法解决 3 次尝试。第二个问题是,当我为 ex.
输入数字时,我不能出错letter = "J"
tries = 3
guess = input ("Enter your guess ")
def check_guess (guess, letter):
if letter == guess.upper():
print ("correct")
True
return
elif letter < guess.upper():
print ("You are wrong, but go closer to A")
False
return
elif letter > guess.upper():
print ("You are wrong, but go closer to Z")
False
return
def letter_guess (guess, letter, tries):
if check_guess (guess, letter) == True:
pass
elif check_guess (guess, letter) == False:
tries - 1
return
if tries == 0:
print ("GAME OVER!")
else:
check_guess (guess, letter)
您没有使用 letter_guess
函数,也没有从 check_guess
函数返回结果(None
除外)。
试试这个:
letter = "J"
tries = 3
def check_guess (guess, letter):
if not guess.isalpha():
print("Invalid")
return False
if letter == guess.upper():
return True
elif letter < guess.upper():
print ("Your guess is High")
return False
else:
print ("Your guess is Low")
return False
def letter_guess():
for i in range(tries):
guess = input ("Enter your guess ")
res = check_guess (guess, letter)
if res:
print ("Correct!")
return True
return False
result = letter_guess()
if result:
print ("Congratulations")
else:
print ("The answer was ",letter)
print ("GAME OVER!")
您可以通过删除 letter_guess 函数并将所有游戏逻辑压缩到一个函数中来简化您的代码。
然后为了解决尝试 3 次的问题,我做了一个 while 循环,循环直到尝试 == 0。当循环遇到猜测错误的语句时,它会减去一次尝试。
我还得搬
guess = input ("Enter your guess ")
进入 while 循环,这样它将迭代多次并为三个不同的尝试获取输入。
correctLetter = "J"
def check_guess (letter):
tries = 3
while tries > 0:
guess = input ("Enter your guess ")
if letter == guess.upper():
print ("Correct!")
break
elif letter < guess.upper():
if tries > 1:
print ("You are wrong, but go closer to A")
tries = tries - 1 #Moves you closer to finishing the loop
elif letter > guess.upper():
if tries > 1:
print ("You are wrong, but go closer to Z")
tries = tries - 1 #Moves you closer to finishing the loop
if tries == 0:
print ("GAME OVER!")
check_guess(correctLetter)
旁注:对于 return 函数中的任何值,该值需要直接跟在 return 语句之后,如下所示:
return True
希望对您有所帮助!
这完成了同样的事情,但使用了两个不同的函数。
correctLetter = "J"
tries = 3
def letter_game(tries, correctLetter):
for i in range(tries):
guess = input ("Enter your guess ")
if letter_check(correctLetter, guess) == True:
print("Correct!")
break
if letter_check(correctLetter, guess) != True:
print("Game Over!")
def letter_check(l1, l2):
if l1 == l2.upper():
return True
elif l1 > l2.upper():
print ("You are wrong, but go closer to Z")
return False
elif l1 < l2.upper():
print ("You are wrong, but go closer to A")
return False
else:
return False
letter_game(tries, correctLetter)
函数letter_game运行游戏,letter_check函数returns一个布尔值,对应猜中的字母是否匹配正确的字母。