问题:
编写一个程序,搜索列表以查看列表中的最后一个值是否出现多次.如果最后一个值出现多次,则返回true.否则,返回false.如果列表为空,则返回false.
我的代码:
def go(list1):
for i in range(0,len(list1)):
if list1[i] is list1[-1:]:
return True
else:
return False
print ( go( [-99,1,2,3,4,5,6,7,8,9,10,5] ) )
print ( go( [10,9,8,7,6,5,4,3,2,1,9] ) )
print ( go( [10,20,30,40,50,-11818,40,30,20,10] ) )
print ( go( [32767] ) )
print ( go( [7,7,7,7] ) )
print ( go( [9,10,-88,100,-555,1000] ) )
print ( go( [10,10,10,11,456,10,10] ) )
print ( go( [-111,1,2,3,9,11,20,30] ) )
print ( go( [9,8,7,6,5,4,3,2,0,-2,9,9] ) )
print ( go( [12,15,18,21,23,1000] ) )
print ( …Run Code Online (Sandbox Code Playgroud) 问题:
编写一个程序,搜索列表以查找第一个奇数.如果找到奇数,则找到奇数后面的第一个偶数.返回第一个奇数和第一个偶数之间的距离.如果没有找到奇数,或者在奇数后面没有偶数,则返回-1.
我的代码:
def go(list1):
dist = 0
odd = 0
even = 0
for i in range(0,len(list1)):
if list1[i] % 2 == 1:
odd = list1[i]
break
else:
odd = list1[0]
list2 = list1[list1.index(odd)+1:]
for i in range(0,len(list2)):
if list2[i] % 2 == 0:
even = list2[i]
break
else:
even = list2[0]
return list2.index(even) + list1.index(odd) + 1 - list1.index(odd)
print(go([7,1,5,3,11,5,6,7,8,9,10,12345,11]))
print(go([11,9,8,7,6,5,4,3,2,1,-99,7]))
print(go([10,20,30,40,5,41,31,20,11,7]))
print(go([32767,70,4,5,6,7]))
print(go([2,7,11,21,5,7]))
print(go([7,255,11,255,100,3,2]))
print(go([9,11,11,11,7,1000,3]))
print(go([7,7,7,11,2,7,7,11,11,2]))
print(go([2,4,6,8,8]))
Run Code Online (Sandbox Code Playgroud)
我的输出:
6
2
3
1
1
4
5
4
1 …Run Code Online (Sandbox Code Playgroud)