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]

results matching ""

    No results matching ""