如何用Python实现随机数匹配并统计尝试次数?
解决Python随机数匹配统计尝试次数的问题
哈喽!先祝你平安呀~你的问题我看啦,代码陷入死循环的原因很明确,咱们一步步捋清楚:
你当前的代码里,ran1和ran2只在循环外面生成了一次随机数。如果第一次生成的两个数不相等,进入循环后,你只是在累加count,但完全没有重新生成新的随机数——那ran1和ran2的值永远不会变,自然一直满足ran1 != ran2的条件,循环就停不下来啦。
另外还要注意,你的代码里没导入random模块,运行时会报错,这个也得补上。
下面是修正后的代码,我给你两种思路:
思路1:每次循环重新生成两个随机数
import random count = 0 # 先初始化两个随机数,确保能进入循环逻辑 ran1 = random.randint(1, 10) ran2 = random.randint(1, 10) while ran1 != ran2: count += 1 # 关键:每次循环都生成新的随机数 ran1 = random.randint(1, 10) ran2 = random.randint(1, 10) print(f"匹配成功!一共尝试了 {count} 次")
思路2:固定一个随机数,每次循环只生成另一个新数
这种方式更高效一点,因为不需要每次都生成两个数:
import random count = 0 ran1 = random.randint(1, 10) ran2 = random.randint(1, 10) while ran1 != ran2: count += 1 # 只重新生成ran2,直到和ran1匹配 ran2 = random.randint(1, 10) print(f"匹配成功!一共尝试了 {count} 次")
还有个小细节:你原来代码里循环内的if ran1 == ran2: break是多余的,因为while的条件就是ran1 != ran2,当两者相等时循环会自动终止,不需要额外判断哦。
内容的提问来源于stack exchange,提问作者lycheelichi
相关产品推荐
相关产品推荐

