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

Python中如何生成指定数量的末尾非0随机数对?

解决生成5组末尾非0三位数随机数对的问题

问题说明

需求:生成5组(共10个)末尾不为0的三位数随机数对(x和y)。
现有Python代码循环5次生成随机数,若x或y末尾为0则输出“x”,无法得到恰好5组有效结果。希望修改程序,要么持续运行直到生成5组符合要求的数对,要么将末尾为0的随机数替换为符合要求的数。
原代码:

import random

for k in range(5):
    x = (random.randint(100, 1000))
    y = (random.randint(100, 1000))
    if (x % 10 != 0) and (y % 10 != 0):
        print(x, "+", y, "=")
    else:
        print("x")

原代码示例输出:

567 + 533 =
196 + 521 =
x
624 + 323 =
x

解决方案

方案1:持续生成直到凑够5组有效数对

通过循环收集有效数对,直到满足5组的要求,确保最终输出全部为有效结果。

import random

valid_pairs = 0
while valid_pairs < 5:
    # 修正randint上限为999,避免生成四位数1000
    x = random.randint(100, 999)
    y = random.randint(100, 999)
    if x % 10 != 0 and y % 10 != 0:
        print(f"{x} + {y} =")
        valid_pairs += 1

方案2:替换末尾为0的随机数

针对单个随机数,若末尾为0则重新生成,直到符合要求,保证每次循环都输出一组有效数对。

import random

for _ in range(5):
    # 生成符合要求的x
    while True:
        x = random.randint(100, 999)
        if x % 10 != 0:
            break
    # 生成符合要求的y
    while True:
        y = random.randint(100, 999)
        if y % 10 != 0:
            break
    print(f"{x} + {y} =")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 20:17:45