我正在参加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
,它将保存你想要的值。