代码检查用户ID (id_usager)
。如果它没有签出,它会执行else作为错误捕获。如果确实签出,则会调用其他函数并打印("Pour la personne"etc)
。话虽这么说,我希望我的程序在之后继续autreRecommandation
,但就目前而言,它会在上述打印后退出。
while True:
id_check = True
while id_check:
id_usager = input("Entrer l'ID de l'usager pour lequel vous voulez une recommandation (entre 0 et {}): ".format(n - 1))
if id_usager.isdigit():
if int(id_usager) in range(n):
id_usager = int(id_usager)
calculer_scores_similarite(reseau)
print("Pour la personne", id_usager, ", nous recommandons l'ami", recommander(id_usager, reseau, matrice_similarite), ".")
return id_check == True
else:
print("Erreur: l'usager doit être un nombre entier entre ", 0, "et", n - 1, "inclusivement.\n")
else:
print("Erreur: l'usager doit être un nombre entier entre ", 0, "et", n - 1, "inclusivement.\n")
autreRecommandation = input("Voulez-vous une autre recommandation (oui/non)?")
if autreRecommandation.lower() == "oui":
return True
else:
print("Merci d'avoir utiliser le programme de recommandation d'amis.")
break
答案 0 :(得分:0)
您是否尝试过关键字continue
?
答案 1 :(得分:0)
return id_check == True
语句会将控制权返回给您的函数调用者。
相反,您可以使用break
语句从内部while循环中退出,然后控件将返回到外部while循环并按预期转到autreRecommandation
。
代码可能更像
calculer_scores_similarite(reseau)
print("Pour la personne", id_usager, ", nous recommandons l'ami",recommander(id_usager, reseau, matrice_similarite), ".")
id_check == True
break