如何防止Python';替换现有值的附加方法?

如何防止Python';替换现有值的附加方法?,python,append,Python,Append,我试图让用户输入的数字按升序和降序排列,但append方法不断替换以前的值,因此我在排列中只得到一个数字 print("This is a program to order numbers in ascending and descending order.") while 1 == 1: until = int(input("\nEnter how many numbers you want ordered: ")) print("") loop = 0 whi

我试图让用户输入的数字按升序和降序排列,但append方法不断替换以前的值,因此我在排列中只得到一个数字

print("This is a program to order numbers in ascending and descending order.")
while 1 == 1:
    until = int(input("\nEnter how many numbers you want ordered: "))
    print("")
    loop = 0
    while loop < until:
        numbers = []
        number = float(input("Enter number: "))
        numbers.append(number)
        loop += 1
    print("\nHere are the numbers in descending order:")
    while len(numbers) > 0:
        print(max(numbers))
        largest = max(numbers)
        numbers.remove(largest)
print(“这是一个按升序和降序排列数字的程序。”)
而1==1:
until=int(输入(“\n输入要排序的数字:”)
打印(“”)
循环=0
while循环<直到:
数字=[]
数字=浮动(输入(“输入数字:”)
数字。追加(数字)
循环+=1
打印(“\n它们是按降序排列的数字:”)
而len(数字)>0:
打印(最大(数字))
最大=最大(数字)
数字。删除(最大)

该问题是由
编号=[]
行在
循环中引起的。这会在每次迭代时,在追加下一个编号之前,将编号重置为空列表

要解决此问题,只需将此行移到
while
循环之外,如下所示:

loop = 0
numbers = []
while loop < until:
    number = float(input("Enter number: "))
    numbers.append(number)
    loop += 1
numbers = []
while len(numbers) < until:
    number = float(input("Enter number: "))
    numbers.append(number)

该问题是由于行
numbers=[]
while
循环中引起的。这会在每次迭代时,在追加下一个编号之前,将编号重置为空列表

要解决此问题,只需将此行移到
while
循环之外,如下所示:

loop = 0
numbers = []
while loop < until:
    number = float(input("Enter number: "))
    numbers.append(number)
    loop += 1
numbers = []
while len(numbers) < until:
    number = float(input("Enter number: "))
    numbers.append(number)

在代码中,在循环中写入以下行:

numbers = []
每次迭代循环时,都会创建一个新变量
numbers
,因此每次迭代时都会覆盖该变量

试试这个

print("This is a program to order numbers in ascending and descending order.")
while 1 == 1:
    until = int(input("\nEnter how many numbers you want ordered: "))
    print("")
    loop = 0
    numbers = []
    while loop < until:            
        number = float(input("Enter number: "))
        numbers.append(number)
        loop += 1
        print("\nHere are the numbers in descending order:")
    while len(numbers) > 0:
        print(max(numbers))
        largest = max(numbers)
        numbers.remove(largest)
print(“这是一个按升序和降序排列数字的程序。”)
而1==1:
until=int(输入(“\n输入要排序的数字:”)
打印(“”)
循环=0
数字=[]
while循环<直到:
数字=浮动(输入(“输入数字:”)
数字。追加(数字)
循环+=1
打印(“\n它们是按降序排列的数字:”)
而len(数字)>0:
打印(最大(数字))
最大=最大(数字)
数字。删除(最大)

在代码中,在循环中写入以下行:

numbers = []
每次迭代循环时,都会创建一个新变量
numbers
,因此每次迭代时都会覆盖该变量

试试这个

print("This is a program to order numbers in ascending and descending order.")
while 1 == 1:
    until = int(input("\nEnter how many numbers you want ordered: "))
    print("")
    loop = 0
    numbers = []
    while loop < until:            
        number = float(input("Enter number: "))
        numbers.append(number)
        loop += 1
        print("\nHere are the numbers in descending order:")
    while len(numbers) > 0:
        print(max(numbers))
        largest = max(numbers)
        numbers.remove(largest)
print(“这是一个按升序和降序排列数字的程序。”)
而1==1:
until=int(输入(“\n输入要排序的数字:”)
打印(“”)
循环=0
数字=[]
while循环<直到:
数字=浮动(输入(“输入数字:”)
数字。追加(数字)
循环+=1
打印(“\n它们是按降序排列的数字:”)
而len(数字)>0:
打印(最大(数字))
最大=最大(数字)
数字。删除(最大)

在您的初始代码中,您声明您需要按降序排列的数字,我没有提供完整的解决方案,但我大致了解了您当前拥有的数字的去向。只需要根据用户需要添加更多的逻辑,降序或升序。我不知道你为什么有这些数字。删除(最大的),所以我把它注释掉

    numbers = []
    print("This is a program to order numbers in ascending and descending order.")
    numbers
    while True:

        until = int(input("\nEnter how many numbers you want ordered: "))
        print("")
        loop = 0
        while loop < until:

            number = float(input("Enter number: "))
            numbers.append(number)
            loop += 1
        print("\nHere are the numbers in descending order:")
        numbers.sort()
        print(numbers)
        largest = max(numbers)
        #numbers.remove(largest)
number=[]
打印(“这是一个按升序和降序排列数字的程序。”)
数字
尽管如此:
until=int(输入(“\n输入要排序的数字:”)
打印(“”)
循环=0
while循环<直到:
数字=浮动(输入(“输入数字:”)
数字。追加(数字)
循环+=1
打印(“\n它们是按降序排列的数字:”)
number.sort()
打印(数字)
最大=最大(数字)
#数字。删除(最大)

正如我最初的评论“声明您的列表编号=[]高于一个级别,您尝试过吗?”

在您的初始代码中,您声明您需要按降序排列的编号,我没有提供完整的解决方案,但我大致了解了您当前拥有的编号的方向。只需要根据用户需要添加更多的逻辑,降序或升序。我不知道你为什么有这些数字。删除(最大的),所以我把它注释掉

    numbers = []
    print("This is a program to order numbers in ascending and descending order.")
    numbers
    while True:

        until = int(input("\nEnter how many numbers you want ordered: "))
        print("")
        loop = 0
        while loop < until:

            number = float(input("Enter number: "))
            numbers.append(number)
            loop += 1
        print("\nHere are the numbers in descending order:")
        numbers.sort()
        print(numbers)
        largest = max(numbers)
        #numbers.remove(largest)
number=[]
打印(“这是一个按升序和降序排列数字的程序。”)
数字
尽管如此:
until=int(输入(“\n输入要排序的数字:”)
打印(“”)
循环=0
while循环<直到:
数字=浮动(输入(“输入数字:”)
数字。追加(数字)
循环+=1
打印(“\n它们是按降序排列的数字:”)
number.sort()
打印(数字)
最大=最大(数字)
#数字。删除(最大)

正如我在最初的评论“声明您的列表编号=[]高于一个级别,您尝试过吗?”

您的编号是本地的

print(“这是一个按升序和降序排列数字的程序。”)
而1==1:
数字=[]
until=int(输入(“\n输入要排序的数字:”)
打印(“”)
循环=0
while循环<直到:
#数字=[]
数字=浮动(输入(“输入数字:”)
打印(数字,数字)
数字。追加(数字)
循环+=1
打印(“\n它们是按降序排列的数字:”)
而len(数字)>0:
打印(最大(数字))
最大=最大(数字)
数字。删除(最大)
您的号码是本地的

print(“这是一个按升序和降序排列数字的程序。”)
而1==1:
数字=[]
until=int(输入(“\n输入要排序的数字:”)
打印(“”)
循环=0
while循环<直到:
#数字=[]
数字=浮动(输入(“输入数字:”)
打印(数字,数字)
数字。附加(