Python:将计数(计数器)保留在我的函数中,并在函数之外打印总数

时间:2018-08-02 18:51:09

标签: python

我正在上一条python课程,被困在一项任务上。我需要调用两次函数,如果正确或不正确,请打印,然后输出正确输入的总数。除了正确输入的总数外,其他所有内容似乎都正常运行。

我的while循环以应有的方式两次遍历了我的函数,并告诉用户输入了正确还是不正确的骨骼。我只是似乎无法弄清楚循环完成后如何打印正确输入的总数。任何建议,将不胜感激。谢谢。

这是我的代码:

foot_bones = ["calcaneus", "talus", "cuboid", "navicular", "lateral cuneiform", "intermediate cuneiform", "medial cuneiform"]

correct_bones = 0

def f_bones(footbone, foot_bones):
    correct_bones = 0
    for bones in foot_bones:
        if bones.lower() == footbone.lower():
            correct_bones += bones.lower().count(bones)
            return "correct"
        else:
            pass
    return "incorrect"

count = 1

while count < 3:
    count += int(count)
    p_bone = input("Enter a foot bone: ")
    print(p_bone, "is", f_bones(p_bone,foot_bones))
print("Total # of bones identified: ", correct_bones)  

我的输出:

Enter a foot bone: talus

talus is correct

Enter a foot bone: cuboid

cuboid is correct

Total # of bones identified:  0

1 个答案:

答案 0 :(得分:0)

您已经定义了两次correct_bones,一次在def f_bones():之前,一次在函数内部。然后在while()之后,您打印错误的correct_bones。您需要将返回值从"correct""incorrect"的字符串更改为0和1或任何您喜欢的数字。然后,当您调用f_bone函数时,需要将其设置为fBone = f_bone(p_bone,foot_bones),然后可以打印出fBone,它将保存您想要的值。