如何在python中生成20个随机数
我试图在python中生成20个随机数,并指出它们是奇数还是偶数,这就是我目前所拥有的:如何在python中生成20个随机数,python,random,integer,Python,Random,Integer,我试图在python中生成20个随机数,并指出它们是奇数还是偶数,这就是我目前所拥有的: import random def main(): i = 0 num = 0 #while loop while i<20: #user enters input num = random.randint(input("enter lowest number:\t")) i = random.randint(inp
import random
def main():
i = 0
num = 0
#while loop
while i<20:
#user enters input
num = random.randint(input("enter lowest number:\t"))
i = random.randint(input("enter highest number:\t"))
#if else
if num>=0 and num<=100:
num = num+i
i = i +1
print(num)
else:
print("error")
#for loop
for i in range(num):
main()
随机导入
def main():
i=0
num=0
#while循环
当i=0且num时,使用
我宁愿完全重写该函数
import random
def main():
lower = int(raw_input("enter lowest number: "))
upper = int(raw_input("enter highest number: "))
for i in range(20):
num = random.randint(lower, upper)
print(num)
main()
我认为您将能够轻松地修改它以满足您的需要:)
编辑:按照建议,我重写了函数,这样它就不会在for循环的每一步都要求下限和上限,而是在进入for循环之前只要求一次。这就不那么烦人了,而且可能是你想做的事情
def odd_or_even(num):
if num % 2 == 0:
print(num, 'is even')
else:
print(num, 'is not even')
lst = [random.randint(lower, upper) for x in range(20)]
for num in lst:
print(even_or_odd(num))
这是一个工作计划,但如果你不想费心去弄清楚这一点,我怀疑你会非常喜欢这门课,因为它只会变得更加困难
import random
import time
start = time.time()
for i in range(10000):
random.choice([i for i in range(1000)])
print 'random.choice()', time.time() - start
start = time.time()
for i in range(10000):
random.randint(0,1000)
print 'random.randint()', time.time() - start
start = time.time()
for i in range(10000):
int(random.random() * 1000)
print 'random.random()', time.time() - start
[out]:
random.choice() 0.849874973297
random.randint() 0.015105009079
random.random() 0.00372695922852
首先询问用户最上面和最下面的数字,
然后使用生成器获取数字
import random
def randnums(number, startnum=0, endnum=100):
for i in range(1, number + 1):
yield random.randint(startnum, endnum)
def getparams():
return int(input('Lowest number: ')), int(input('Highest number: '))
def main():
bottom, top = getparams()
nums = list(randnums(20, startnum=bottom, endnum=top))
for number in nums:
print(number, ',', sep='')
if __name__ == '__main__':
main()
如果您在Python 2.x上运行此功能,请使用raw\u input
。啊,对不起,从OP的内容中复制意大利面,谢谢@matthiaspopular:range(20)
。。。使用此函数,每次循环运行时,您都必须输入最低/最高数字。如何使循环连续,您只需在第一次运行时输入2个数字,它将为您提供20个随机数字??user3250465:我只是以这种方式重写了它,正如Inauld所建议的那样,Hanks man:)你知道如何判断每个数字是奇数还是偶数吗?你会如何判断一个数字是奇数还是偶数?如果将一个数除以2,余数为0,则该数为偶数。现在去把它编码好,说得好。我认为0被认为是偶数。我错了吗@弗洛里斯:绝对零就是平!由于1
未能通过num%2==0
测试,因此在if
语句中根本不需要第一个分支。这是什么答案?
import random
def randnums(number, startnum=0, endnum=100):
for i in range(1, number + 1):
yield random.randint(startnum, endnum)
def getparams():
return int(input('Lowest number: ')), int(input('Highest number: '))
def main():
bottom, top = getparams()
nums = list(randnums(20, startnum=bottom, endnum=top))
for number in nums:
print(number, ',', sep='')
if __name__ == '__main__':
main()