如何将Python的while循环封装为函数?解决封装后仅执行一次的问题
问题排查与解决:函数封装后循环仅执行一次
问题出在return money的位置——你把它写在了while循环的内部,第一次循环执行完毕就直接返回结果,导致循环只跑了一次就终止,无法完成设定的10次迭代。
修正后的函数代码:
import random def loop(): money = 100 bet = 0 while bet < 10: outcome = random.randint(0,1) bet = bet + 1 if outcome == 1: money = money + 10 elif outcome == 0: money = money - 10 # 把return移到循环外面,确保10次循环全部执行完再返回结果 return money # 调用函数查看结果 print(loop())
额外优化:可以用elif替代第二个独立if,让条件判断逻辑更严谨,但这不是影响循环次数的核心问题。核心修复点就是将return语句移出while循环块,放在函数末尾,保证循环完整执行10次后再返回最终的money值。
内容的提问来源于stack exchange,提问作者nathan_golden_22
相关产品推荐
相关产品推荐

