Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # A
- from random import choice
- def qsort(ls):
- if len(ls)<=1:
- return ls
- pivot = choice(ls)
- left=[i for i in ls if i < pivot]
- x =[i for i in ls if i == pivot]
- right =[ i for i in ls if i >pivot]
- return qsort(left) + x + qsort(right)
- def fun(ls, n):
- original = ls.copy()
- if len(ls) <= 2*n:
- print("You didn't enter enough values.")
- else:
- ls = qsort(ls)
- for i in range(n):
- ls.pop(0)
- ls.pop(-1)
- print('With outliers removed: [', end='')
- print(*ls, sep=', ', end='')
- print(']')
- print('The original data: [', end='')
- print(*original, sep=', ', end='')
- print(']')
- ls = []
- while True:
- try:
- num = int(input("Enter a value(blank to quit): "))
- ls.append(num)
- except:
- n = int(input('Enter the number of outliers to be removed: '))
- fun(ls, n)
- break
- # B
- from random import randint
- n = randint(1, 10)
- arr = [[randint(1, 10) for _ in range(n)] for _ in range(n)]
- left = []
- right = []
- sum_left = 0
- sum_right = 0
- for i in range(n):
- left.append(arr[i][i])
- sum_left += arr[i][i]
- right.append(arr[i][n-i-1])
- sum_right += arr[i][n-i-1]
- print("Random data:")
- for i in range(n):
- for j in range(n):
- print(f'{arr[i][j]:2d}', end=' '*5)
- print()
- print("\nLeft diagonal-> [", end='')
- print(*left, sep=', ', end='')
- print('] ->', sum_left)
- print("Right diagonal-> [", end='')
- print(*right, sep=', ', end='')
- print('] ->', sum_right)
- if sum_left < sum_right:
- print('Sum of the left diagonal is less than sum of the right diagonal.')
- elif sum_left > sum_right:
- print('Sum of the left diagonal is greater than sum of the right diagonal.')
- else:
- print('Sum of the left diagonal is equal to sum of the right diagonal.')
- # C
- def fun(ls):
- ave = 0
- c = 0
- for i in ls:
- ave += i
- c += 1
- ave /= c
- print("Average value: ", ave)
- less = []
- equal = []
- greater = []
- for i in ls:
- if i < ave:
- less.append(i)
- elif i == ave:
- equal.append(i)
- else:
- greater.append(i)
- print('Less than Average:', *less)
- print('Average: ', *equal)
- print('Greater than Average:', *greater)
- ls = []
- while True:
- try:
- num = int(input("Enter a value - [blank to quit]->"))
- ls.append(num)
- except:
- print('A list of numbers:\n [', end='')
- print(*ls, sep=', ', end='')
- print(']\n')
- fun(ls)
- break
- # D
- from random import choice
- def qsort_ascending(ls):
- if len(ls)<=1:
- return ls
- pivot = choice(ls)
- left=[i for i in ls if i < pivot]
- x =[i for i in ls if i == pivot]
- right =[ i for i in ls if i >pivot]
- return qsort_ascending(left) + x + qsort_ascending(right)
- def qsort_descending(ls):
- if len(ls)<=1:
- return ls
- pivot = choice(ls)
- left=[i for i in ls if i < pivot]
- x =[i for i in ls if i == pivot]
- right =[ i for i in ls if i >pivot]
- return qsort_descending(right) + x + qsort_descending(left)
- def fun(ls):
- asc_ls = qsort_ascending(ls)
- desc_ls = qsort_descending(ls)
- if asc_ls == ls:
- print('A list is ascendigly sorted')
- elif desc_ls == ls:
- print('A list is descendingly sorted')
- else:
- print('A list unsorted')
- ls = []
- while True:
- try:
- num = int(input("Enter a value - [blank to quit]->"))
- ls.append(num)
- except:
- fun(ls)
- break
- # E
- from random import uniform
- def sum_of_coor(arr):
- s = 0
- for i in arr:
- s+=i
- return s
- def sum_of_squares(x):
- s = 0
- for i in x:
- s += i**2
- return s
- def sum_of_coor_mult(x, y):
- s = 0
- for i in range(len(x)):
- s += x[i] * y[i]
- return s
- def line(x, y, n=3):
- m = (sum_of_coor_mult(x, y) - sum_of_coor(x)*sum_of_coor(y)/n) / (sum_of_squares(x) - sum_of_coor(x)**2 / n)
- b = sum_of_coor(y)/n - m * sum_of_coor(x) / n
- return m, b
- x = [uniform(0, 5) for _ in range(3)]
- y = [uniform(0, 5) for _ in range(3)]
- print('X coordinates: [', end='')
- for i in range(3):
- if i != 2:
- print(f'{x[i]:.2f}, ', end='')
- else:
- print(f'{x[i]:.2f}]')
- print('Y coordinates: [', end='')
- for i in range(3):
- if i != 2:
- print(f'{y[i]:.2f}, ', end='')
- else:
- print(f'{y[i]:.2f}]')
- m, b = line(x, y)
- print(f'f(x) = {m:.2f}*x + {b:.2f}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement