我是靠谱客的博主 悲凉面包,最近开发中收集的这篇文章主要介绍python生成100个随机数_python练习题-随机数生成与遍历,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

python练习题-随机数生成与遍历

题目要求

生成有100个随机正整数的列表,随机数小于1000,遍历列表,删除其中的素数,然后输出最大值,将剩余数值降序输出

思路分析

随机数的生成需要使用random模块

lst = [random.randint(2, 999) for i in range(100)]

素数,是大于1的数,除了1和自身,没有其他的因数,大白话就是除了1和自身,除以其他的数都得不到整数结果

假设一个数值是M,那么从2开始到M//2 ,用M逐个对这些数取模,如果得到0,就说明可以整除,M就不是素数

为啥只遍历到M//2 呢,因为大于M//2的数,除了M意外,其他的肯定不能被整除,简单的数学知识,不必再解释

def is_prime(number):

for i in range(2, number/2):

if number % 2 == 0:

return False

return True

想要删除素数,千万不能这么写

for number in lst:

if is_prime(number):

lst.remove(number)

在使用for循环对列表进行遍历时,本质上是在根据数据的索引获取数据,如果使用remove方法删除的某个数据,那么被删除的数据后面的数据的索引都发生了改变,会影响for循环,导致紧挨着你删除的数据的下一个数据无法遍历到,下面的这个例子可以很清楚的观察到这个情况

lst = [2, 4, 6, 8, 10,

最后

以上就是悲凉面包为你收集整理的python生成100个随机数_python练习题-随机数生成与遍历的全部内容,希望文章能够帮你解决python生成100个随机数_python练习题-随机数生成与遍历所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部