代码检查用户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发布于 2018-03-03 12:11:52
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发布于 2018-03-03 11:32:38
你试过关键词continue吗?
https://stackoverflow.com/questions/49080339
复制相似问题