简体   繁体   English

随机数列表生成器

[英]random number list generator

I need to make a list of random numbers than separate each number, odd or even.我需要制作一个随机数列表,而不是将每个数字分开,奇数或偶数。

Here is my current progress.这是我目前的进展。

import random

def main():
    for x in range(20):
        number=list(random.randint(1,101))
        for number in number:
            list=number

    for x in list:
        if (number % 2) == 0:
            print("{0} is Even number".format(num))
        else:
            print("{0} is Odd number".format(num))

Use this code.使用此代码。

import random

L_odd = []
L_even = []
for x in range(20):
    number = random.randint(1, 101)
    if number % 2 == 0:
        L_even.append(number)
    else:
        L_odd.append(number)

In this code, append is a method to append element to the list (for example, L_even.append(number) means to append number to the list L_even )在此代码中, append是将 append 元素添加到列表中的方法(例如, L_even.append(number)表示将 append 编号添加到列表L_even

As the comments from @Harshal Parekh and @PM 77-1, you need to know the importance of indent of Python, and I think you need to study python basic.正如@Harshal Parekh 和@PM 77-1 的评论,你需要知道 Python 缩进的重要性,我认为你需要学习 python 基础。

I think too much terms like number in number will make you confused, so I modified your code like this, I think this will help you to understand comprehensively.我觉得像 number in number 这样的术语太多会让你感到困惑,所以我这样修改了你的代码,我想这将有助于你全面理解。

import random
def main():
    ls = []   #define a space list
    ls_e = [] #even number
    ls_o = [] #odd number
    for x in range(20): #for loop 0-20
        number=random.randint(1,101)  #create random number between 1-101
        ls.append(number) #put number into ls
    print(ls)
    for x in range(len(ls)):  #for numbers in ls
        if (ls[x] % 2) == 0:  #check logic
            print("{0} is Even number".format(ls[x]))
            ls_e.append(ls[x]) #put into even list
        else:
            print("{0} is Odd number".format(ls[x]))
            ls_o.append(ls[x]) #put into odd list
main()

You could use list comprehension to keep it simple.您可以使用列表推导来保持简单。 Hope this helps!希望这可以帮助!

from random import randint

rand_nums = [randint(0, 101) for i in range(20)]
rand_odds = [i for i in rand_nums if i % 2 == 1]
rand_evens = [i for i in rand_nums if i % 2 == 0]

print(rand_nums)
print(rand_evens)
print(rand_odds)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM