Python:在函数中保留count(counter),并在函数外打印总数



我正在参加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

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

最新更新