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

Python生成不含0的4位随机数代码无法运行如何解决

Python生成不含0的四位随机数代码修正

原代码存在的问题

  • 未导入random模块,无法调用randint方法
  • 排除逻辑完全错误:仅判断生成的数字是否等于0,无法识别数字中包含0的情况
  • 存在语法错误:RandomNumber = my_custom_random())多了多余的右括号
  • 递归实现有栈溢出风险:反复命中不符合要求的值时,递归深度超过Python默认限制会抛出异常

修正后可运行代码

方案1:基于原逻辑调整(循环重试实现,易理解)

import random

def my_custom_random():
    while True:
        randInt = random.randint(1000, 9999)
        # 转换为字符串判断是否包含字符'0'
        if '0' not in str(randInt):
            return randInt

def Q3a():        
    RandomNumber = my_custom_random()
    print(RandomNumber)

Q3a()

方案2:更高效的实现(无重试,直接生成符合要求的数字)

每一位都直接从1-9的范围随机取值,从根源上避免出现0:

import random

def my_custom_random():
    return int(''.join(str(random.randint(1,9)) for _ in range(4)))

def Q3a():        
    RandomNumber = my_custom_random()
    print(RandomNumber)

Q3a()

内容的提问来源于stack exchange,提问作者Wong Li Zong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:36:03