-1

数値のリストをパラメーターとして取り、を使用せずにリスト内の最大の数値を返す関数を作成する必要がありますmax()

私はもう試した:

def highestNumber(l):
  myMax = 0
  if myMax < l:
    return myMax

  return l


print highestNumber ([77,48,19,17,93,90])

……あと、思い出せないことがいくつか。リスト内の要素をループする方法を理解する必要があるだけです。

4

3 に答える 3

6
def highestNumber(l):
    myMax = l[0]
    for num in l:
        if myMax < num:
            myMax = num
    return myMax


print highestNumber ([77,48,19,17,93,90])

出力

93

または、このようなことができます

def highestNumber(l):
    return sorted(l)[-1]

または

def highestNumber(l):
    l.sort()
    return l[-1]
于 2013-10-19T17:53:39.803 に答える
2

最大値を決定するには、すべての値をループする必要があります。これまでの最大値を追跡し、ループの完了後にそれを返します。

def highestNumber(l):
    myMax = float('-inf')
    for i in l:
        if i > myMax:
            myMax = i
    return myMax

ここで、は他のどの数値float('-inf')よりも小さいことが保証されている数値であり、出発点として最適です。

forコンストラクトはすべてのループを処理します。の要素に対して直接行うとliシーケンスの各要素が 1 つずつ割り当てられます。

コードはループするのを忘れ、リスト0全体をテストし、テストが失敗した場合はリスト全体を返します。

于 2013-10-19T17:52:21.450 に答える
0

事前定義された関数を使用せずにリスト内の最大値を見つける関数

def max_len_list(temp):
    i=1
    for each in temp:
        while i < max_len:
            comp=each;
            if comp > temp[i]:
                i=i+1;
            elif temp[i] > comp:
                comp=temp[i];
                i=i+1
        return comp
list1 = [];
max_len=3;
try:
    while len(list1) < max_len :
        no = int(input("enter a number\n"));
        list1.append(no);
except:
    print "enter number not string"
max_no=max_len_list(list1);
print max_no
于 2016-12-01T06:26:25.117 に答える