Python题型--集合练习题

1、生成了N个1~100之间的随机整数(N <= 1000),N是用户输入的; 对于期指其中重复的数字,只保留一个,把其余相同的数字去掉;

2、怎么使用集合完成列表的去重操作,并将最终的列表由大到小排序输出。

import random

def generate_random_numbers(n):# 生成N个1~100之间的随机整数,并放入列表中
    random_numbers = [random.randint(1, 100) for _ in range(n)]
    return random_numbers

def remove_duplicates_and_sort(numbers_list):
    # 使用集合对列表进行去重
    unique_numbers_set = set(numbers_list)

    # 将去重后的列表由大到小排序输出
    sorted_numbers_list = sorted(unique_numbers_set, reverse=True)
    return sorted_numbers_list

def main():
    try:
        N = int(input("请输入要生成的随机整数个数(N <= 100): "))
        if N <= 0:
            print("输入的N必须大于0!")
            return

        if N > 1000:
            print("输入的N不能超过100!")
            return

        # 生成随机整数列表
        random_numbers_list = generate_random_numbers(N)

        print("随机整数列表:", random_numbers_list)

        # 去重并排序输出
        sorted_unique_numbers = remove_duplicates_and_sort(random_numbers_list)
        print("去重并由大到小排序后的列表:", sorted_unique_numbers)

    except ValueError:
        print("请输入一个有效的整数!")

if __name__ == "__main__":
    main()

你可能感兴趣的:(python,开发语言)