在Python中生成随机数的随机长度列表的程序

在Python中生成随机数的随机长度列表的程序,python,list,loops,random,Python,List,Loops,Random,我对编程和这样的网站非常陌生,事实上我才刚刚开始上课。我了解Python的基本知识,两天来我一直在用它来敲打墙壁 下面是程序的要求,紧接着是我尴尬的代码尝试。我不想把它交给我,但我就是不知道如何前进 在main中,生成一个大于5但小于13的随机整数 在自己的行上打印此号码 以随机整数作为唯一参数调用makelist函数 在makelist函数中: 列一张空的清单 使用循环将与随机整数参数相等的元素添加到列表中。所有新列表元素都必须是1到100(含)之间的随机整数。复制品可以 将列表返回到mai

我对编程和这样的网站非常陌生,事实上我才刚刚开始上课。我了解Python的基本知识,两天来我一直在用它来敲打墙壁

下面是程序的要求,紧接着是我尴尬的代码尝试。我不想把它交给我,但我就是不知道如何前进

  • 在main中,生成一个大于5但小于13的随机
    整数
  • 在自己的行上打印此号码
  • 以随机整数作为唯一参数调用makelist函数
  • makelist
    函数中:

    • 列一张空的清单

    • 使用循环将与随机整数参数相等的元素添加到列表中。所有新列表元素都必须是1到100(含)之间的随机整数。复制品可以

    • 将列表返回到main

  • 回到main,捕获返回的列表并对其进行排序

  • 最后,使用
    for
    循环显示排序后的列表元素,所有元素都在一行上
  • 由单个空格分隔

  • 迄今为止的代码:

    import random
    
    def main():
        random_int = random.randint(6, 12)
        print (random_int)
        makelist()
    
    def makelist():
        num_list = []
        for count in range(1, 101)
            num_list.append(random_int)
    
    main()
    

    你已经完成了大部分工作

    为了在
    makelist
    中创建一个长度等于main()中随机整数的新列表,必须通过参数传递该数字,如下代码所示

    此外,还必须分配
    makelist
    以返回main中的变量,以便可以使用
    makelist
    生成的任何输出。这可以通过
    var=makelist(random\u int)
    简单地完成。我称这个变量为
    元素

    最后,有几个选项可以对列表进行排序。其中之一是使用Python的内置函数
    sorted
    ,并将最终列表作为参数传递。迭代并打印每个值

    import random
    
    def main():
        random_int = random.randint(6, 12)
        print (random_int)
        elements = makelist(random_int)
        for i in sorted(elements):
            print (i,)
    
    def makelist(random_int):
        num_list = []
        for count in range(random_int):
            num_list.append(random.randint(1, 100))
        return num_list
    
    main()
    

    你已经完成了大部分工作

    为了在
    makelist
    中创建一个长度等于main()中随机整数的新列表,必须通过参数传递该数字,如下代码所示

    此外,还必须分配
    makelist
    以返回main中的变量,以便可以使用
    makelist
    生成的任何输出。这可以通过
    var=makelist(random\u int)
    简单地完成。我称这个变量为
    元素

    最后,有几个选项可以对列表进行排序。其中之一是使用Python的内置函数
    sorted
    ,并将最终列表作为参数传递。迭代并打印每个值

    import random
    
    def main():
        random_int = random.randint(6, 12)
        print (random_int)
        elements = makelist(random_int)
        for i in sorted(elements):
            print (i,)
    
    def makelist(random_int):
        num_list = []
        for count in range(random_int):
            num_list.append(random.randint(1, 100))
        return num_list
    
    main()
    

    你已经完成了大部分工作

    为了在
    makelist
    中创建一个长度等于main()中随机整数的新列表,必须通过参数传递该数字,如下代码所示

    此外,还必须分配
    makelist
    以返回main中的变量,以便可以使用
    makelist
    生成的任何输出。这可以通过
    var=makelist(random\u int)
    简单地完成。我称这个变量为
    元素

    最后,有几个选项可以对列表进行排序。其中之一是使用Python的内置函数
    sorted
    ,并将最终列表作为参数传递。迭代并打印每个值

    import random
    
    def main():
        random_int = random.randint(6, 12)
        print (random_int)
        elements = makelist(random_int)
        for i in sorted(elements):
            print (i,)
    
    def makelist(random_int):
        num_list = []
        for count in range(random_int):
            num_list.append(random.randint(1, 100))
        return num_list
    
    main()
    

    你已经完成了大部分工作

    为了在
    makelist
    中创建一个长度等于main()中随机整数的新列表,必须通过参数传递该数字,如下代码所示

    此外,还必须分配
    makelist
    以返回main中的变量,以便可以使用
    makelist
    生成的任何输出。这可以通过
    var=makelist(random\u int)
    简单地完成。我称这个变量为
    元素

    最后,有几个选项可以对列表进行排序。其中之一是使用Python的内置函数
    sorted
    ,并将最终列表作为参数传递。迭代并打印每个值

    import random
    
    def main():
        random_int = random.randint(6, 12)
        print (random_int)
        elements = makelist(random_int)
        for i in sorted(elements):
            print (i,)
    
    def makelist(random_int):
        num_list = []
        for count in range(random_int):
            num_list.append(random.randint(1, 100))
        return num_list
    
    main()
    

    如果您只是想要现有程序的更好版本,我已经修复了您的代码,并将其压缩到下面的单个函数中。然而,我认为编辑您已经编写的内容比重做它更具建设性——请参阅我的回答的其余部分,了解修复代码的详细信息**

    在main中,生成一个大于或小于5的随机整数 超过13岁

  • random\u int
    应分配给
    random.randint(6,12)
    ,因为randint函数使用包含范围参数
  • 以随机整数作为唯一参数调用makelist函数

  • 您的
    make_list
    函数当前不接受任何参数,因此让我们将其定义更改为
    def make_list(list_lengh):
    。现在我们可以将
    main()
    中的随机整数作为输入传入
  • 使用循环将与随机整数参数相等的元素添加到列表中

  • make_list函数的第二行代码中,您正在使用默认参数
    (1101)
    调用range,这不是您想要的。您想在
    list\u length
    上调用range,因为您想循环与在
    main()
    中创建的随机整数相同的次数
  • 所有新列表元素必须是1到100之间的随机整数, 包括在内

  • 您不需要
    num\u list.append(random\u int)
    。这将简单地为您提供
    [random\u int]*random\u int
    。而是附加
    random.randint(1101)
  • 最后,使用for循环在一行上显示已排序的列表元素

  • 有很多方法可以做到这一点,但由于您希望将所有整数打印到一行上,因此让我们将整数附加到带有循环的字符串中,然后在末尾返回该字符串
  • 像这样:

    num_string = ""
    for i in sorted(rand_list):
        num_string += str(i) + " "
    return num_string
    
    一旦你做了所有这些修改,你就不需要太多了
    def main():
        global random_int = random.randint(5, 13)
    
    def makelist(random_int):
    
    import random
    
    
    def main():
        random_int = random.randint(6, 12)
        print (random_int)
        for i in sorted(makelist(random_int)):
            print i,   
    def makelist(random_int):
        num_list = []
        for count in range(random_int):
            rand=random.randint(1,100)
            num_list.append(rand)
        return num_list
    
    main()
    
    from random import randint
    
    def makelist(count):
        return [randint(1, 100) for _ in range(count)]
    
    def main():
        random_integer = randint(6, 12)  # Generate a random integer where 5 < i < 13
        print(random_integer)  # Print this integer on its own line
        unsorted_list = makelist(count=random_integer)  # Make a list
        sorted_list = sorted(unsorted_list)  # Sort the list
        print(' ' . join([str(i) for i in sorted_list]))  # Print it out
    
    main()
    
    from random import randint
    
    count = randint(6, 12)
    print(count)
    print(' ' . join([str(i) for i in sorted([randint(1, 100) for _ in range(count)])]))
    
    import random
    
    def main():
        global random_int
        random_int = random.randint(5, 13)
        print random_int
        makelist(random_int)
        random_list.sort
        string = ' ' . join([str(x) for x in random_list])
        print string
    
    def makelist(list_length):
        global random_list
        random_list = []
        for x in range (list_length):
            random_list.append(random.randint(0, 100))
    
    main()