如何用random生成10个两位整数,将其中的奇数和偶数分别存入两个列表,然后将列表按降序排列并统计每个列表包含的元素个数?

用random生成10个两位整数,将其中的奇数和偶数分别存入两个列表,然后将列表按降序排列并统计每个列表包含的元素个数


import random

numbers = [random.randint(10, 99) for _ in range(10)]
odd_numbers = [num for num in numbers if num % 2 != 0]
even_numbers = [num for num in numbers if num % 2 == 0]
odd_numbers.sort(reverse=True)
even_numbers.sort(reverse=True)

odd_count = len(odd_numbers)
even_count = len(even_numbers)

print("奇数列表:", odd_numbers)
print("奇数个数:", odd_count)

print("偶数列表:", even_numbers)
print("偶数个数:", even_count)

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7737670
  • 这篇博客也不错, 你可以看下random随机生成10个数,然后冒泡排序
  • 除此之外, 这篇博客: 随机生成20个不相同的随机数并排序中的 Random随机数类的一个方法: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • public int nextInt(int n)
    该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。

  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案:

    首先,我们可以使用random模块的sample函数生成10个随机两位整数。

    import random
    nums = random.sample(range(10, 100), 10)
    

    接下来,我们可以创建两个空列表来存储奇数和偶数。

    odd_list = []
    even_list = []
    

    然后,我们可以遍历nums列表,将奇数和偶数分别添加到对应的列表中。

    for num in nums:
        if num % 2 == 0:
            even_list.append(num)
        else:
            odd_list.append(num)
    

    接着,我们可以使用冒泡排序对两个列表进行降序排列。

    for i in range(len(odd_list) - 1):
        for j in range(len(odd_list)-i-1):
            if odd_list[j] < odd_list[j+1]:
                odd_list[j], odd_list[j+1] = odd_list[j+1], odd_list[j]
    
    for i in range(len(even_list) - 1):
        for j in range(len(even_list)-i-1):
            if even_list[j] < even_list[j+1]:
                even_list[j], even_list[j+1] = even_list[j+1], even_list[j]
    

    最后,我们可以使用len函数统计每个列表的元素个数。

    odd_count = len(odd_list)
    even_count = len(even_list)
    

    完整的代码如下:

    import random
    
    nums = random.sample(range(10, 100), 10)
    
    odd_list = []
    even_list = []
    
    for num in nums:
        if num % 2 == 0:
            even_list.append(num)
        else:
            odd_list.append(num)
    
    for i in range(len(odd_list) - 1):
        for j in range(len(odd_list)-i-1):
            if odd_list[j] < odd_list[j+1]:
                odd_list[j], odd_list[j+1] = odd_list[j+1], odd_list[j]
    
    for i in range(len(even_list) - 1):
        for j in range(len(even_list)-i-1):
            if even_list[j] < even_list[j+1]:
                even_list[j], even_list[j+1] = even_list[j+1], even_list[j]
    
    odd_count = len(odd_list)
    even_count = len(even_list)
    

    最后,可以打印输出结果。

    print("奇数列表:", odd_list)
    print("奇数个数:", odd_count)
    print("偶数列表:", even_list)
    print("偶数个数:", even_count)
    

    输出结果类似于:

    奇数列表: [95, 93, 91, 87, 79]
    奇数个数: 5
    偶数列表: [98, 96, 92, 80]
    偶数个数: 4
    

    使用以上解决方案,您可以生成10个随机两位整数,并将奇数和偶数分别存入两个列表,然后按降序排列这两个列表,并统计每个列表中包含的元素个数。