【问题标题】:Random Number Generator - That Stops随机数生成器 - 停止
【发布时间】:2017-06-14 01:38:26
【问题描述】:

我正在使用 Python。

如何使代码无限生成 1 到 1000(含)之间的随机数,直到生成数字 39 并停止?

这是我迄今为止尝试过的,但没有奏效:

import random

print(random.randint(1,1000))

if random.randint=39:

break

【问题讨论】:

  • 了解循环。 forwhile
  • 你应该使用while作为while random.randint(1, 1000) != 39:
  • 您可以使用itertools 为您构建生成器。它的代码有点密集......itertools.takewhile( lambda x: x!=39, itertools.starmap(random.randint, itertools.repeat((1, 1000))))

标签: python random numbers generator


【解决方案1】:

试试这个代码:

import random
while random.randint(1,1000) != 39:
    pass

或者(取决于您的需要):

import random
while True:
    if random.randint(1,1000) == 39:
        break

如果你想创建 generator 试试这样的:

import random

def generate_numbers(exact_number):    
    while True:
        n = random.randint(1,1000)
        if n == exact_number:
            break
        yield n

#example usage
for i in generate_numbers(39):
    print(i)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-09
    • 2015-05-17
    • 1970-01-01
    • 2023-01-03
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多