2017-08-12 56 views
-3

如果整數列表包含一系列嚴格遞減的值,然後是一系列嚴格遞增的值,則該整數列表被稱爲谷值。遞減和遞增序列的長度必須至少爲2.遞減序列的最後一個值是遞增序列的第一個值。谷歌的python函數升序降序

+0

你究竟想要什麼?這是作業嗎? – usamec

回答

0
def valley(list): 
    if(len(list)==0): 
    return(True) 
    if(len(list)==1): 
    return(False) 
    if(list[0]<list[1]): 
    return(False) 
    for i in range(0,len(list)-1): 
    if(list[i]<list[i+1]): 
     pos=i 
     break 
    if(list[i]==list[i+1]): 
     return(False) 
    else: 
    return(False) 
    for i in range(pos,len(list)-1): 
    if(list[i]>=list[i+1]): 
     return(False) 
    return(True) 
0
def valley(l): 
if len(l) < 4: 
    return False 
else: 
    for i in range(0,l.index(min(l))): 
     if l[i] > l[i+1]: 
      i+=1 
     else: return False 

    for j in range(l.index(min(l)),len(l)-1): 
     if l[j] < l[j+1]: 
      j+=1 
     else: return False 

    if i==l.index(min(l)) and j==len(l)-1: 
     return True 
    else: return False 
0
def valley(list): 
if (len(list) < 3): 
    return False 
ucount = 1 
lcount = 1 
for i in range(0, len(list) - 1): 
    if list[i] > list[i + 1]: 
     if lcount > 1: 
      return False 
     ucount = ucount + 1 
    if list[i] < list[i + 1]: 
     lcount = lcount + 1 
    if list[i] == list[i + 1]: 
     return False 
if ucount >1 and lcount > 1: 
    return True 
else: 
    return False 

嗯,這代碼對我的作品。

0

我認爲一個更好的答案會包含上面的一些答案,以給出一個非常精簡的代碼,如下所示。

def valley(l): 
    if(len(l)<3): 
    return(False) 
    for i in range(0,len(l)-1): 
    if(l[i]<l[i+1]): 
     for i in range(i,len(l)-1): 
     if(l[i]>=l[i+1]): 
      return(False) 
     return(True) 
    elif(l[i]==l[i+1]): 
     return(False) 
    else: 
     return(False)