Python Can';我不明白我的逻辑有什么缺陷:

Python Can';我不明白我的逻辑有什么缺陷:,python,Python,我试图创建一个程序,允许用户选择要输入的数字数量,然后比较用户输入的所有值,找出最大的值。出于某种原因,它似乎只是比较最后输入的两个值,我无法找出我的逻辑哪里出错了 def number_of_inputs(): n = input("how many n values would you like "); values = []; a = 0; n = int(n); for a in range (n):

我试图创建一个程序,允许用户选择要输入的数字数量,然后比较用户输入的所有值,找出最大的值。出于某种原因,它似乎只是比较最后输入的两个值,我无法找出我的逻辑哪里出错了

def number_of_inputs():
        n = input("how many n values would you like ");
        values = [];
        a = 0;
        n = int(n);
        for a in range (n):
            c= int(input("Enter a value "));
            values.append(c);
            a=a+1;
        b = sum(values)
        largest_num(values,n,b);
def largest_num(values,n,b):
    a = 0;
    start = 0;
    for start in range(n):

        for a in range (n):
                if((values[start])-(values[a])>0):
                    largest = values[start]
                    a = a+1;

        print(largest);
number_of_inputs();

假设您只需要最大的数字,删除不需要的代码。这里不需要嵌套循环。将您的函数更新为:

def largest_num(values,n,b):
    a = 0;
    start = 0;
    for i in range(n - 1):
            if(values[i+1] > values[i]:
                largest = values[i+1]
            else: 
                largest = values[i]
    print(largest)
您可以使用内置的
max()
实现以下功能:

>>> max([1, 5, 2, 10, 4])
10

你能给我一个更好的标题吗?他们是为了给用户和文章的想法,并吸引潜在的回答者…如果你想让我们帮助你理解你的逻辑有什么问题,你至少应该试着解释一下,我们不住在你的头脑中。。。您还可以手动逐步检查代码,以找出其无法按预期工作的原因。您是否尝试过调试代码?最简单的方法是添加一些打印语句,显示代码的工作状态。信不信由你,学习调试技巧将意味着下次你不得不问问题时不会被否决太多。@JulienBernu:正在编辑的路上。还是谢谢你的指点,以防我错过;)