Ryuou1 / RyuouRepo1

0 stars 0 forks source link

L 6 #1

Open Ryuou1 opened 1 week ago

Ryuou1 commented 1 week ago

https://github.com/TheBandik/computer-science-and-programming-basics/blob/main/labs/lab6.pdf

Ryuou1 commented 1 week ago

def f(value,fromU,toU): units = {"сек": 1, "мин": 60, "час": 3600} value_in_sec = int(value) * units[fromU] converted_value = value_in_sec / units[toU] return converted_value value = input("Введите значение времени: ") fromU = input("Введите исходную единицу времени (сек мин час): ") toU = input("Введите выводимую единицу времени (сек мин час): ") res = f(value,fromU,toU) print(f"{value} {fromU} = {res} {toU}")

Ryuou1 commented 1 week ago

def is_prime(num):

Проверка на простое ли число или нет

if num < 2:
    return False
for i in range(2, int(num ** 0.5) + 1):
    if num % i == 0:
        return False
return True

def get_primes_in_range(start, end):

Проверка на некорректные данные

if not (isinstance(start, int) and isinstance(end, int)):
    return "Ошибка"
if start > end:
    return "Ошибка"
if start < 0 or end < 0:
    return "Ошибка"

primes = []
for num in range(start, end + 1):
    if is_prime(num):
        primes.append(num)
return primes

start_input = input("Введите начало диапазона: ") end_input = input("Введите конец диапазона: ") start = int(start_input) end = int(end_input) result = get_primes_in_range(start, end) print("Простые числа в диапазоне {}: {}".format((start, end), result))

Ryuou1 commented 1 week ago

def readmatrix(rows): matrix = [] for in range(rows): row = input("Введите элементы строки через пробел: ").strip().split() matrix.append([int(num) for num in row]) return matrix

def add_matrices(matrix1, matrix2): rows = len(matrix1) cols = len(matrix1[0]) result_matrix = [] for i in range(rows): result_row = [] for j in range(cols): result_row.append(matrix1[i][j] + matrix2[i][j]) result_matrix.append(result_row) return result_matrix

def main():

Считываем размеры матриц

try:
    rows = int(input("Введите количество строк матрицы (больше или равно 2): "))
    cols = int(input("Введите количество столбцов матрицы (больше или равно 2): "))
    if rows < 2 or cols < 2:
        print("Ошибка: размер матрицы должен быть больше 2.")
        return
    print("Введите первую матрицу:")
    matrix1 = read_matrix(rows)
    print("Введите вторую матрицу:")
    matrix2 = read_matrix(rows)
    # Проверка на совпадение размеров
    if len(matrix1) != len(matrix2) or len(matrix1[0]) != len(matrix2[0]):
        print("Ошибка: Размеры матриц должны совпадать.")
        return
    # Сложение матриц
    result_matrix = add_matrices(matrix1, matrix2)
    # Вывод результата
    print("Результат сложения матриц:")
    for row in result_matrix:
        print(" ".join(map(str, row)))
except ValueError:
    print("Ошибка: Пожалуйста, введите корректные целые числа.")

if name == "main": main()

Ryuou1 commented 1 week ago

def palindrom(s): palind_stroka = ''.join(s.split()).lower() return palind_stroka == palind_stroka[::-1] def main(): input_stroka = input("Введите вашу строку: ") if palindrom(input_stroka): print('Да') else: print('Нет')

if name == "main": main()

Ryuou1 commented 1 week ago

print('---------------\n| Задание 2 |\n---------------') def proc(a, n): bank = { '3': 0.03, '4-6': 0.05, '6': 0.02 } a = int(a) n = int(n) if a < 30000: print('Минимальный вклад равен 30000!') else: s1 = a//10000 pro = 0 s2 = 0 while pro <= 0.05 and s2 < s1: pro += 0.003 s2 += 1 if pro > 0.05: pro = 0.05 zar = 0 n1 = 1 while n1 <= 3 and n1 <= n: zar += a(bank['3']+pro) a = a(bank['3']+pro+1) n1 += 1 while 4 <= n1 <= 6 and n1 <= n: zar += a (bank['4-6'] + pro) a = a (bank['4-6'] + pro + 1) n1 += 1 while 6 < n1 <= n: zar += a (bank['6'] + pro) a = a (bank['6'] + pro + 1) n1 += 1 print(f'Заработок: {zar}') proc(input('Введите сумму: '), input('Введите время: '))