《python核心教程》课后题答案注解

    xiaoxiao2021-04-13  24

    生成一个有N个元素的由随机数n组成的列表,其中N和n的取值范围分别为:(1<N<=100),(0<=n<=231-1).然后再随机从这个列表中取N(1<=N<=100)个随机数出来,对它们排序,然后显示这个子集。

    # -*- coding: utf-8 -*-

    def randomlist():

          import random #导入随机模块

          N=[i for i in xrange(2,101)]

          n=[i for i in xrange(-1,232)]

          Nn=random.choice(N) #随机选择给定序列N的一个元素

          Return=[]

          for i in xrange(0,Nn):

                num=random.choice(n)#在n中随机选择一个数

                n.remove(num)#将选择的数从n中拿出来

                Return.append(num)#将取出的数放进Return中

           return sorted(Return)#对Return中的数据进行排序

    上述代码中‘xrange'可用'range'代替。xrange是一个类,返回的是一个xrange对象。使用xrange()进行遍历,每次遍历只返回一个值。range()返回的是一个列表,一次性计算并返回所有的值。因此,xrange()的执行效率要高于range()

    转载请注明原文地址: https://ju.6miu.com/read-669063.html

    最新回复(0)