2301_80066073 2023-10-05 22:18 采纳率: 57.1%
浏览 5

Python程序设计

img


输入一个1-100之间的正整数 n, 以 n 为随机数种子随机生成一个不大于 n 的正整数 m 。
生成一个包含元素为 1,2,3……n 的列表 ls,在列表 ls 中删除值为 m 的整数倍的元素,在两行中输出原始列表和删除 m 倍数后的列表。

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-10-05 23:50
    关注

    引自强大而免费的微信小程序:皆我百晓生。


    您好!以下是一个解决该问题的Python程序设计:

    import random
    
    def remove_multiples(ls, n, m):
        new_ls = []
        for num in ls:
            if num % m != 0:
                new_ls.append(num)
        return new_ls
    
    n = int(input("请输入一个1-100之间的正整数: "))
    random.seed(n)
    m = random.randint(1, n)
    
    ls = list(range(1, n+1))
    print("原始列表: ", ls)
    
    new_ls = remove_multiples(ls, n, m)
    print("删除m倍数后的列表: ", new_ls)
    

    这段代码首先通过input函数获取用户输入的正整数n,然后使用random.seed(n)n作为随机数种子,确保每次运行程序生成的随机数相同。接着使用random.randint(1, n)生成不大于n的随机数m

    然后,使用list(range(1, n+1))生成一个包含1到n的整数的列表ls。接下来,我们定义了一个名为remove_multiples的函数,该函数接受参数lsnm,用于删除列表ls中所有值为m的倍数的元素,并返回删除后的新列表。

    在接下来的代码中,我们首先输出原始列表ls,然后调用remove_multiples函数,传入参数lsnm,得到删除m倍数后的新列表new_ls。最后,我们输出删除后的列表new_ls

    希望这个解决方案对您有帮助!

    评论

报告相同问题?

问题事件

  • 创建了问题 10月5日