Python 3.3 - 生成奇数

时间:2015-09-18 19:16:26

标签: python

好的,所以我一直坚持这个我正在努力的计划。我知道如何让程序吐出随机数......很酷。但是,我希望它只吐出奇数而且不知道该怎么做。这是我到目前为止所得到的......关于这个的任何想法?

import random

myfile = open('numbers.txt', 'w')
odd = 0

for count in range(3,8,1):
file_size = random.randint(5,19)
myfile.write(str(file_size) + '\n')


myfile.close()

1 个答案:

答案 0 :(得分:1)

凭借数学的力量:

import random
def rand_with_parity(start, end):
    return 2*random.randint(0, (end-start)//2)+start

myfile = open('numbers.txt', 'w')

for count in range(3,8,1):
   file_size = rand_with_parity(5,19)
   myfile.write(str(file_size) + '\n')


myfile.close()

rand_with_parity(a,b)函数将返回[a,b]范围内的随机数,即使a和b为偶数,如果a和b为奇数,也会返回奇数。