-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlist-2.py
More file actions
executable file
·78 lines (68 loc) · 2.2 KB
/
list-2.py
File metadata and controls
executable file
·78 lines (68 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# count_evens
def count_evens(nums):
'''
Return the number of even ints in the given array. Note: the % "mod" operator
computes the remainder, e.g. 5 % 2 is 1.
'''
l = [n for n in nums if n%2 == 0]
return len(l)
# big_diff
def big_diff(nums):
'''
Given an array length 1 or more of ints, return the difference between the largest
and smallest values in the array. Note: the built-in min(v1, v2) and max(v1, v2)
functions return the smaller or larger of two values.
'''
return max(nums) - min(nums)
# centered_average
def centered_average(nums):
'''
Return the "centered" average of an array of ints, which we'll say is the mean average
of the values, except ignoring the largest and smallest values in the array. If there
are multiple copies of the smallest value, ignore just one copy, and likewise for the
largest value. Use int division to produce the final average. You may assume that the
array is length 3 or more.
'''
nums.remove(max(nums))
nums.remove(min(nums))
return sum(nums) / len(nums)
# sum13
def sum13(nums):
'''
Return the sum of the numbers in the array, returning 0 for an empty array. Except the
number 13 is very unlucky, so it does not count and numbers that come immediately after a
13 also do not count.
'''
while 13 in nums:
if nums.index(13) < len(nums)-1:
nums.pop(nums.index(13)+1)
nums.pop(nums.index(13))
return sum(nums)
# sum67
def sum67(nums):
'''
Return the sum of the numbers in the array, except ignore sections of numbers starting
with a 6 and extending to the next 7 (every 6 will be followed by at least one 7).
Return 0 for no numbers.
'''
counts = True
sum = 0
for n in nums:
if n == 6:
counts = False
continue
if n == 7 and not counts:
counts = True
continue
if counts:
sum += n
return sum
# has22
def has22(nums):
'''
Given an array of ints, return True if the array contains a 2 next to a 2 somewhere.
'''
for i in range(len(l)-1):
if (nums[i] == 2 and nums[i+1] == 2):
return True
return False