[英]How do I generate a number of random numbers that are all odd
import random
myfile = open('numbers.txt', 'w')
file_size = random.randint(4,7)
for count in range(file_size):
numbers = random.randint(5,19)
myfile.write(str(numbers) + '\n')
myfile.close()
这是我到目前为止所拥有的,但我需要数字是所有赔率和“file_size”告诉代码的正确赔率。 每个 integer 必须是随机的,介于 5 和 19 之间(含)。
您可以使用接受可选step
参数的random.randrange
:
>>> import random
>>> random.randrange(5, 19+1, 2)
9
要生成 1 到 10 之间的奇数,请使用random.randrange(start,end,step)
odd_rand_num = random.randrange(1,10,2)
odd_rand_num = 7
要生成随机奇数列表,请使用以下命令:
odd_rand_list = [random.randrange(1,10,2) for p in range(0,10)]
odd_rand_list = [3, 9, 7, 9, 1, 1, 9, 7, 3, 9]
或者,地板除以二加一
2*(k//2)+1
总会给你一个奇数...
import random
odd = 2*(random.randint(5,19)//2)+1
另一种方法:
import random
with open('numbers.txt', 'w') as myfile:
file_size = random.randint(4,7)
for count in range(file_size):
numbers = random.choice(range(5, 19+1, 2))
myfile.write(str(numbers) + '\n')
OP 代码中的更正:
import random
myfile = open('numbers.txt', 'w')
file_size = random.randint(4, 7)
for count in range(file_size):
while True:
number = random.randint(5, 19)
if number % 2 == 1:
break
myfile.write(str(number) + '\n')
myfile.close()
使用random.randrange()
function,并从奇数开始,例如:
import random
for i in range(40):
x = random.randrange(3, n, 3)
print(f"{x}/3:\t", x/3)
使用randrange如下:
import random as rn
a = rn.randrange(0,100,2)
b = a + 1
print (b)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.