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个数字,每个func必须打印10个不同的随机数。如果这个权利或需要修复它需要帮助。下面显示了每个功能需要做什么。
在FuncA中#在一行中打印随机奇数10
在FuncB#中打印随机偶数10 在一行中
在FuncC#中打印随机奇数3位数10 在一行中
在FuncD#中打印随机偶数4位数10 在一行中
在FuncE中#在一行中打印随机素数10
我的问题是如何让他们为我所做的每个功能打印随机数。在上面我希望他们做一个命令,打印一个奇数,其他偶数,然后其他奇数3位数字和4位数字,最后素数。每个人必须打印出10个不同的随机数。
答案 0 :(得分: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
答案 1 :(得分: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个不同的随机数,它们将不再是随机的。
答案 2 :(得分:0)
来自随机导入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