You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

猜数字游戏中,如何处理random.randrange生成0时的重新调用问题?

猜数字游戏:生成1-100范围内的指定随机倍数数字

需求

  • 制作猜数字游戏,玩家需猜测1-100之间的随机数
  • 目标数字是2-10之间随机生成的数ran_num的倍数,且必须在1-100范围内
  • 要求使用random.randrange(0, 101, ran_num)生成数字,若生成0则重新生成,确保最终数字不为0

解决方案代码

import random

ran_num = random.randint(2, 10)
print(f"Hello! The goal of the game is to guess a multiple-of-{ran_num} number that is between 1-100.")  

# 生成符合要求的目标数字,确保不为0
answer = random.randrange(0, 101, ran_num)
while answer == 0:
    answer = random.randrange(0, 101, ran_num)

代码解释

  • 先通过random.randint(2,10)确定随机倍数ran_num
  • 使用random.randrange(0, 101, ran_num)生成候选数:该函数会从0开始,以ran_num为步长生成不超过100的数,存在生成0的可能(比如随机选中起始值0时)
  • 用while循环持续检查生成的数字,只要是0就重新生成,直到得到1-100之间的有效倍数。相比单次if判断,循环能彻底避免极端情况下仍生成0的问题

内容的提问来源于stack exchange,提问作者not_jena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:35:16