如果你只是想要一个更好的版本的现有程序,我已经修复了你的代码,并压缩成一个函数如下。但是,我认为编辑你已经写过的东西比重做它更有建设性-有关修复代码的详细信息,请参阅我的回答的其余部分**from random import randint
def main():
random_int = random.randint(6, 13)
print(random_int)
rand_list = [randint(1, 100) for _ in range(random_int)]
return sorted(rand_list)
print main()In main, generate a random integer that is greater than 5 and less
than 13.random_int应分配给random.randint(6, 12),因为randint函数使用包含范围参数Call the makelist function with the random integer as sole argument.您的make_list函数目前没有参数,所以让我们将它的定义改为def make_list(list_lengh):。现在我们可以将来自main()的随机整数作为输入传入。在use a loop to append to the list a number of elements equal to the random integer argument.在make_list function中的第二行代码中,使用默认参数(1, 101)调用range,这不是您想要的。您希望对list_length调用range,因为您希望循环次数与在main()中创建的随机整数相同。在All new list elements must be random integers ranging from 1 to 1