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