简单Python帮助

简单Python帮助,python,Python,两个修复:,main应该对返回的列表进行排序,for循环应该在一行上打印所有数字 这就是我要回答的问题,我想我明白了,但我上面解释的两个错误需要帮助: 在main中,生成一个大于5小于13的随机整数。在自己的行上打印此号码 以随机整数作为唯一参数调用makelist函数 在makelist函数中创建一个空列表 使用循环将与随机整数参数相等的元素添加到列表中。所有新列表元素都必须是1到100(含)之间的随机整数。复制品可以 将列表返回到main 回到main,捕获返回的列表并对其进行排序 最后,使

两个修复:,main应该对返回的列表进行排序,for循环应该在一行上打印所有数字

这就是我要回答的问题,我想我明白了,但我上面解释的两个错误需要帮助:

  • 在main中,生成一个大于5小于13的随机整数。在自己的行上打印此号码
  • 以随机整数作为唯一参数调用makelist函数
  • 在makelist函数中创建一个空列表
  • 使用循环将与随机整数参数相等的元素添加到列表中。所有新列表元素都必须是1到100(含)之间的随机整数。复制品可以
  • 将列表返回到main
  • 回到main,捕获返回的列表并对其进行排序
  • 最后,使用for循环显示已排序的列表元素,所有元素都在一行上,由单个空格分隔

    列表大小为7

    以下是已排序的列表:

    8283541516272

    另一个示例输出

    列表大小为10

    以下是已排序的列表:

    3392036448508193

  • 非常感谢您对我的代码的任何帮助。我是一个初学者,并尝试过教程

    这是我的密码
    print(n,)
    如果您想像打印示例输出一样打印项目,则逗号位置就是问题所在。你看,python中的括号既用于封闭数学/逻辑表达式,也用于元组。如果想要一个1项元组,会发生什么<代码>(n)与
    n
    相同。为了解决这个问题,python将
    (n,)
    理解为一个元组

    因此,若要按需要打印项目,请使用:

        for n in sorted(elements):
            print (n),
        print() # This last one is only to go down a line 
                # for any further prints
    

    编辑:另外,如果您想要一个介于1和100之间的
    random\u int
    ,请使用
    random.randint(1100)
    ,而不是
    101
    我会在makelist函数中对列表进行排序。除此之外,您还应该从
    print(n,)
    中删除逗号。否则,您的代码基本上解决了这个问题。下次你的问题要更具体一些

    编辑:对列表中的每个元素调用each
    print()
    ,将在换行符(垂直)上打印每个元素。由于需要去掉逗号,
    '.join(map(str,sorted(elements))
    将列表转换为字符串,每个元素之间用空格分隔

    import random   
    
    def main():
        random_int = random.randint(6, 12)
        print ("The list size will be %d"  %random_int)
        elements = makelist(random_int)
        print("This sorted list is %s"  %' '.join(map(str, sorted(elements))) )
    
    def makelist(random_int):
         number_list = []
         for count in range(random_int):
             number_list.append(random.randint(1, 100))
         return number_list 
    
    像这样做

    import random   
    
    def main():
    
        random_int = random.randint(6, 12)
        print ('List size will be %d' % random_int)
    
        elements = makelist(random_int)
        print('Here is the sorted list:')
        print( ' '.join(map(str, sorted(elements))) )
    
    def makelist(random_int):
    
        number_list = []
        for count in range(random_int):
            number_list.append(random.randint(1, 100))
        return number_list  
    
    main()
    
    兴趣线是

    print( ' '.join(map(str, sorted(elements))) )
    
    它可以做一些事情

    sorted(elements)
    
    返回列表的已排序副本

    map(str, sorted(elements))
    
    将整数元素映射(转换)为字符串。这只需对列表中的每个元素调用
    str
    。这是必需的,因为join需要字符串的
    iterable

    ' '.join(map(str, sorted(elements)))
    

    这个看起来很有趣的语法将从所有值中创建一个长字符串。它将使用“”(空格字符)作为每个元素和之间的值,将所有已排序并转换为字符串的元素合并为一个可以打印的长字符串。

    问题出在哪里?运行代码时会发生什么?您没有解释任何错误,它需要像我在那里提供的示例输出那样打印。:)现在它垂直打印。。。。需要水平:)我需要水平打印列表,而不是垂直打印。。。。这有意义吗:)它们可以用逗号分隔吗?它们不应该是…:(还有文本“列表大小将是”&“这是排序列表:”再次更新,这应该最终满足要求谢谢!:)问题,出于好奇,为什么使用“join(map(str,sorted(elements)))”。
    ' '.join(map(str, sorted(elements)))