0
def FuncA():
    x = 0
    while x < 10:
        Hide = int(random()*1000) 
        if Hide > 99 and Hide < 1000 and Hide % 2 != 1:
            print Hide
            x = x + 1


def FuncB():
    Hide = 0
    for b in range(x):
        if Hide > 99 and Hide < 1000 and Hide % 2 == 0:
            print Hide

def FuncC():
    x = 0
    while x < 10:
        Hide = int(random()*1000) 
    if Hide > 99 and Hide < 1000 and Hide % 2 == 1:
        print Hide
        x = x + 1

def FuncD():
    x = 0
    while x < 10:
        Hide = int(random()*1000)
        if Hide > 99 and Hide < 1000 and Hide % 2 == 1:
            print Hide
            x = x + 1 

def FuncE():
    L = 0
    X = input("Please give me a number : ")
    for S in range(X):
        if X % (S+1) == 0:
            L = L + 1
            print S + 1
    if NumberOfTimesDivided == 2:
        print "The number is PRIME"
    else:
        print "The Number is NOT PRIME"

IM は、乱数を使用して 10 個の数字を取得しようとします。各関数は、10 個の異なる乱数を出力する必要があります。これが正しいか、修正する必要があるかどうかを確認する必要があります。以下は、各関数が何をしたかったかを示しています。

FuncA では #ランダムな奇数 10 個を 1 行に出力

FuncB で # Random 偶数 10 個を 1 行に出力

FuncC で #乱数の奇数 3 桁の数字 10 個を 1 行に出力

FuncD #printing Random 偶数 4 桁の数字 10 個を 1 行に

FuncE #ランダム素数 10 個を 1 行に出力

これに関する私の質問は、私が作成した各関数の乱数を出力する方法です。上記で、乱数を奇数、偶数、奇数の3桁の数字、4桁の数字、最後に素数で出力するコマンドを実行してもらいたいと思いました。それぞれが 10 個の異なる乱数を出力する必要があります。

4

3 に答える 3

3
from random import choice

10 個のランダムな奇数:

>>> print ', '.join(str(choice(range(1, 100, 2))) for _ in range(10))
45, 83, 57, 57, 85, 19, 49, 3, 5, 53

10 個のランダムな偶数:

>>> print ', '.join(str(choice(range(2, 100, 2))) for _ in range(10))
44, 14, 4, 30, 82, 34, 38, 14, 34, 54

10 個のランダムな奇数 3 桁の数字:

>>> print ', '.join(str(choice(range(101, 1000, 2))) for _ in range(10))
485, 685, 555, 647, 513, 463, 729, 779, 229, 615

10 個のランダムな偶数 4 桁の数字:

>>> print ', '.join(str(choice(range(1000, 10000, 2))) for _ in range(10))
7830, 3496, 3122, 5452, 3982, 7794, 8952, 2492, 4098, 1864

10 個のランダムな素数

def pgen(maxnum): # Sieve of Eratosthenes generator
    yield 2
    np_f = {}
    for q in xrange(3, maxnum+1, 2):
        f = np_f.pop(q, None)
        if f:
            while f != np_f.setdefault(q+f, f):
                q += f
        else:
            yield q
            np = q*q
            if np < maxnum:
                np_f[np] = q+q

>>> print ', '.join(str(choice(list(pgen(1000)))) for _ in range(10))
151, 919, 59, 29, 373, 563, 991, 191, 607, 811
于 2013-10-17T07:40:54.357 に答える
1
from random import randint as r
from random import choice as c

def FuncA ():
    print (' '.join (str (r (0, 499) * 2 + 1) for _ in range (10) ) )

def FuncB ():
    print (' '.join (str (r (0, 499) * 2) for _ in range (10) ) )

def FuncC ():
    print (' '.join (str (r (50, 499) * 2 + 1) for _ in range (10) ) )

def FuncD ():
    print (' '.join (str (r (500, 4999) * 2) for _ in range (10) ) )

def FuncE ():
    primes = [a for a, b in enumerate (all (c % i for i in range (2, c- 1) ) for c in range (1000) ) if b] [2:]
    print (' '.join (str (c (primes) ) for _ in range (10) ) )

すべての関数で、出力は各基準を満たす10個の乱数であり、あなたが述べた10個の異なる乱数ではありません。それらが10個の異なる乱数である場合、それらはもはやランダムではありません.

于 2013-10-17T07:04:33.353 に答える
0

from random import randint def FuncA():

   x = 0

   while x < 10:
       Hide = randint(1,1000)

       if Hide % 2 != 0:
          print Hide

          x = x + 1

def FuncB():

   x = 0

   while x < 10:
       Hide = randint(1,1000) 

       if Hide % 2 == 0:
          print Hide

          x = x + 1

def FuncC():

   x = 0

   while x < 10:
       Hide = randint(100,1000) 

       if Hide % 2 != 0:
          print Hide

          x = x + 1

def FuncD():

   x = 0

   while x < 10:
       Hide = randint(1000,10000) 

       if Hide % 2 == 0:
          print Hide

          x = x + 1

def FuncE():

   x = 0

   while x < 10:
       Hide = randint(1,1000) 

       for S in range(Hide):
         if Hide % (S+1) == 0:
            L = L + 1



       if L == 2:
           print Hide
           X + 1
于 2013-10-17T06:27:34.287 に答える