当输入值 6 和 4 的预期输出应该是“太小!”时,如何解释问题集 4 的猜谜游戏问题中 check50 的结果?或“太大了!”根据提供的代码,但 check50 通过测试用例并输出“Just right!”? check50 测试用例或我解释其结果的方式是否可能存在问题?`
import random
while True:
level = input("Input: ")
if level.isnumeric() and int(level) > 0:
level = int(level)
break
n = random.randint(1,level)
print(n)
while True:
guess = input("Guess: ")
if guess.isnumeric() and int(guess) > 0:
guess = int(guess)
if guess > n:
print("Too large!")
elif guess < n:
print("Too small!")
else:
print("Just right!")
break
我为问题集4中的猜谜游戏问题编写了代码并通过check50运行它。该代码旨在输出“太小!”或“太大了!”如果用户的猜测不正确并且“恰到好处!”如果猜测正确。当我输入值 6 和 4 时,输出应该是“太小了!”因为程序会生成一个介于 1 和 6 之间的随机数,而 4 小于生成的数。然而,check50 通过了测试用例并输出“Just right!”对于这个输入,这是意想不到的。我很好奇 check50 这种行为的原因。测试用例或我解释其结果的方式是否可能存在问题?任何见解将不胜感激。
check50
运行自动化测试并且不知道您提到的特定输入值(6 和 4)是很重要的。相反,它会根据一系列不同的输入和预期输出来测试您的代码,以确保您的代码在各种情况下都能正常工作。您提到的输出可能只是您在手动运行代码时遇到的一个特定示例。
check50
输出中的消息并不意味着程序应始终输出“恰到好处!”对于给定的输入。相反,这意味着程序在执行的特定测试用例 check50
中的行为符合预期。请记住,check50
可能会使用不同的输入来测试您的代码。由于您的代码会生成随机数,因此每次运行程序时输出可能会有所不同。
check50
中的所有测试用例,它很可能工作正常,并且您已经实现了必要的逻辑来处理用户的输入并提供适当的反馈。 check50
也有可能无法涵盖所有边缘情况,因此如果您仍然有顾虑,您可以创建额外的测试用例以确保您的代码在不同场景中按预期运行。
• CS50 - Lua/LOVE2D - 如何在两个类之间共享相同的更新随机数变量 (Flappy Bird)
• 即使我的猜测限制超过 3,为什么我的 else 语句没有被执行[关闭]
• 为什么 python 中的 cs50 中的 get_int() 不起作用?
• CS50反向:错误:ENOSPC:设备上没有剩余空间,写入)
• Python3错误。"pygame.error: video system not initialized"
• 学习 C for CS50 Lab1: Population Growth - Programm runs, but does not calculate anything