Symmetric Square
#개열받....ㅋㅋㅋ
#
def symmetric(arr):
result = True
if arr == []:
result = True
elif len(arr) == len(arr[0]):
for e in range(0,len(arr)):
for ee in range(0,len(arr[e])):
result = arr[e][ee] == arr[ee][e]
if result == False:
break
else:
result = False
return result
print symmetric([["cat", "dog", "fish"],
["dog", "dog", "dog"],
["fish","fish","cat"]])
#>>> False
print symmetric([[1, 2],
[2, 1]])
#>>> True
결론은 arr[a][b] == a[b][a], 즉 열과 행의 값이 같으면 된다.
Mean of a List
# The mean of a set of numbers is the sum of the numbers divided by the
# number of numbers. Write a procedure, list_mean, which takes a list of numbers
# as its input and return the mean of the numbers in the list.
def list_mean(arr):
result = 0
sum = 0
for e in arr:
sum += e
result = float(sum)/float(len(arr))
return result
print list_mean([1,2,3,4])
#>>> 2.5
print list_mean([1,3,4,5,2])
#>>> 3.0
Antisymmetric Square
#민우코드
def antisymmetric(a):
#Write your code here
l = len(a)
i = 0
result = True
while i < l:
j = 0
while j < l:
if a[i][j] + a[j][i] != 0:
result = False
break
j = j + 1
i = i + 1
return result
test는 통과하는데 답을 내면 에러가 생겼단다 이게 뭔소리지
Recognize Identity Matrix
#민우코드드
def is_identity_matrix(matrix):
#Write your code here
l = len(matrix)
i = 0
while i < l:
j = 0
if(l != len(matrix[i])): return False
else:
while j < l:
if(i == j):
if(matrix[i][j] != 1):
return False
else:
if(matrix[i][j] != 0):
return False
j = j + 1
i = i + 1
return True
matrix1 = [[1,0,0,0],
[0,1,0,0],
[0,0,1,0],
[0,0,0,1]]
print is_identity_matrix(matrix1)
#>>>True
Numbers in Lists
def numbers_in_lists(string):
arr = [1번째 값]
while string이 다 끝날때 까지:
if string의 1번째 값이 2번째 값보다 크다면:
if 1번째값 다음에 list가 없다면:
arr.append([])
else:
arr.append(2번째값)
else:
arr.append(2번째 값)
1번째 값을 2번째 값으로 바꾼다.
Frequency Analysis
def freq_analysis(message):
charArr = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
freq_list=[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
size = 1.0/len(message)
for char in message:
freq_list[charArr.index(char)] = freq_list[charArr.index(char)]+size
return freq_list
#Tests
print freq_analysis("abcd")
#>>> [0.25, 0.25, 0.25, 0.25, 0.0, ..., 0.0]
print freq_analysis("adca")
#>>> [0.5, 0.0, 0.25, 0.25, 0.0, ..., 0.0]
print freq_analysis('bewarethebunnies')
#>>> [0.0625, 0.125, 0.0, 0.0, ..., 0.0]