[英]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.