python中的这个代码段没有执行。请指出错误?我是个孩子

2024-05-28 23:41:52 发布

您现在位置:Python中文网/ 问答频道 /正文

python中的此代码段未执行。有人能指出错误吗?你知道吗

print("Lets have a math quiz")
def True_False(x):
    if True :
        print("You are absolutely correct")
    else :
        print("Sorry you are wrong better luck next time ")

i =input("what is 4 * 4 = ")
if i == "16":
    True_False(True)
else:
    True_False(False)

i =input("what is 7+ 60 = ")
if i == "76":
    True_False(True)
else:
    True_False(False)

i =input("what is 4 * 0 = ")
if i == "0":
    True_False(True)
else:
    True_False(False)   

Tags: falsetrueinputifishave代码段错误
1条回答
网友
1楼 · 发布于 2024-05-28 23:41:52

您的主要问题是True_False函数。if True: ...将始终采用if分支,而从不采用else分支,根本不检查x参数。你知道吗

您需要更改if语句,以便它取决于参数,并且您可能应该为函数和参数提供更具描述性的名称:

def give_feedback(correct):
    if correct:
        print("You are absolutely correct")
    else:
        print("Sorry you are wrong better luck next time")

其次,在主程序中调用此函数时,if i == ...检查是多余的。如果i16,那么i == 16将计算为True,因此您可以简单地将其传递给函数:

guess = input("what is 4 * 4 = ")
give_feedback(guess == "16")

或者,您可以重构函数,以便它接受用户的猜测和正确答案,并自行执行检查:

def check_guess(guess, answer):
    if guess == answer:
        print("You are absolutely correct")
    else:
        print("Sorry you are wrong better luck next time")

guess = input("what is 4 * 4 = ")
check_guess(guess, "16")

相关问题 更多 >

    热门问题