Лабораторная работа 1 Задача Имя, Фамилия, Отчество, Хобби фио (например, "Ваши фамилия, имя, отчество")
Скачать 137.55 Kb.
|
государственное автономное профессиональное образовательное учреждение Самарской области «Новокуйбышевский гуманитарно-технологический колледж» ОТЧЁТ Выполнил: студент ? курса ? группы специальности ? (имя и фамилию) Преподаватель: Денис Пшенников 2022 Лабораторные работы. Вариант - 8 Лабораторная работа 1 Задача Имя, Фамилия, Отчество, Хобби -ФИО (например, "Ваши фамилия, имя, отчество?") -хобби ("Чем Вы увлекаетесь?") После этого выводила бы две строки: "Ваши имя, фамилия, отчество" "Ваше хобби" Код: a = input ("Ваши фамилия, имя, отчество: ") b = input ("Чем вы увлекаетесь?: ") print ('Ваши ФИО: ', a) print ('Ваше хобби: ', b) Результат выполнения: Лабораторная работа 2 Задание Напишите программу, которая бы вычисляла заданное арифметическое выражение при заданных переменных. Ввод переменных осуществляется с клавиатуры. Вывести результат с 2-мя знаками после запятой. Код: import math x = int(input ("Введите переменную x: ")) t = int(input ("Введите переменную t: ")) z = ((9*math.pi*t+10*math.cos(x)))/(math.sqrt(t)-math.fabs(math.sin(t)))*math.pow(math.e,x) print ("z = {0:.2f}".format(z)) Результат выполнения: Лабораторная работа 3 Задание Составьте программу подсчёта площади равнобедренного треугольника. Если площадь треугольника чётная, разделить её на 2, в противном случае вывести сообщение «Не могу делить на 2!» Код: a = int (input ('Введите число a: ')) b = int (input ('Введите число b: ')) y =(a*b)/2 if y % 2 == 0: y=y/2 print (y) else: print ('Не могу делить на 2!') Результат выполнения: Лабораторная работа 4 Задание 1 Дана последовательность из n вещественных чисел. Первое число в последовательности нечетное. Найти сумму всех идущих подряд в начале последовательности нечетных чисел. Условный оператор не использовать. Решить задачу используя циклическую конструкцию for. Код: n = int (input ('Введите кол-во элементов последовательности: ')) a = 1 b = 0 for i in range(n): x = int(input()) a*= x%2 b+= a*x print("Сумма первых нечётных чисел: ", b) Результат выполнения: Задание 2 Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, найти количество и сумму его цифр. Код: n = int (input ('Введите число: ')) a = 0 b = 0 while n > 0: a+=1 b+=n%10 n//=10 print("Сумма цифр: ", b) print("Кол-во цифр", a) Результат выполнения: Лабораторная работа 5 Задание Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке. Код: s = input ('Введите строку с точкой в конце: ') b = len(s.split(" ")) print("Кол-во слов в строке: ", str(b)) Результат выполнения: Лабораторная работа 6 Задание 1 Найдите сумму и произведение элементов списка. Результаты вывести на экран. Код: z = [ ] x = 1 n = int(input("Введите длину массива: ")) print("Элементы массива (ввод с клавиатуры): ") for i in range(n): z.append(int(input())) x*=z[i] print("Сумма элементов: ", sum(z)) print("Произведение элементов", x) Результат работы: Задание 2 В массиве действительных чисел все нулевые элементы заменить на среднее арифметическое всех элементов массива. Код: x=[ ] n=int(input("Введите длину массива: ")) for i in range(n): print("Введите", i, "элемент") x.append(int(input())) print("Исходный массив: ", x) for i in range(n): if x[i]==0: x[i]=(sum(x))/n print("Полученный массив: ", x) Результат выполнения: Лабораторная работа 7 Задание 1 Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр Код: def prov(n): x=n while(x): a=x%10 x//=10 if (a==0 or x%a): return False return True b = int(input("Введите число с клавиатуры: ")) for i in range(1, b+1): if (prov(i)): print(str(i)) Результат работы: Задание 2 Ввести одномерный массив A длиной m. Поменять в нём местами первый и последний элементы. Длину массива и его элементы ввести с клавиатуры. В программе описать процедуру для замены элементов массива. Вывести исходные и полученные массивы. Код: def prov(x): d=x[0] x[0]=x[len(x)-1] x[len(x)-1]=d b=[ ] n=int(input("Введите длину массива: ")) for i in range(n): print("Введите", i, "элемент") b.append(int(input())) print(b) prov(b) print(b) Результат работы: БИЛЕТ Номер – 8 Задание 1 Найти в массиве наибольшее число Код: x = [1, 2, 56, 0, 45, 99, 32, 120] print("Наибольшее число: ", max(x)) Тоже самое только с вводом элементов массива: x=[ ] n=int(input("Введите длину массива: ")) for i in range(n): print("Введите", i, "элемент") x.append(int(input())) print("Наибольшее число: ", max(x)) Результат работы: Результат с вводом: Задание 2 Написать программу для поиска площади треугольника, прямоугольника и круга. Пользователю даётся выбор, площадь какой фигуры он хочет найти. Затем происходит ввод параметров фигуры: для круга - радиус, для треугольника и прямоугольника - все стороны. Площадь треугольника искать через полупериметр Код: print("Варианты для выбора: 1-прямоугольник, 2-треугольник, 3-круг") x = input("Выберите фигуру: ") if x == '1': print("Длины сторон прямоугольника:") a = float(input("Первая сторона: ")) b = float(input("Вторая сторона: ")) print("Площадь прямоугольника: %.2f" % (a * b)) elif x == '2': print("Длины сторон треугольника:") a = float(input("Первая сторона: ")) b = float(input("Вторая сторона: ")) c = float(input("Третья сторона: ")) p = (a + b + c) / 2 from math import sqrt s = sqrt(p * (p - a) * (p - b) * (p - c)) print("Площадь треугольника: %.2f" % s) elif x == '3': r = float(input("R: ")) from math import pi print("Площадь круга: %.2f" % (pi * r ** 2)) else: print("Неправильно выбранная цифра") Результат работы: ЗАДАНИЯ ПИТОН Задача 1.1 Заданы M строк символов, которые вводятся с клавиатуры. Найти количество символов в самой длинной строке. Выровнять строки по самой длинной строке, поставив перед каждой строкой «…» (многоточия) Код: n = int(input("Введите кол-во элементов: ")) a = [input("Введите элемент: ") for i in range(n)] z = len(max(a)) for i in range(len(a)): y = z - len(a[i]) print("." * y + a[i]) Результат выполнения: Задача 1.2 Дан одномерный массив числовых значений, насчитывающий N элементов. Подсчитать количество чисел, делящихся на 3 нацело, и среднее арифметическое чисел с чётными значениями. Вывести полученные величины Код: n = int(input("Введите кол-во элементов: ")) y=0 k=0 m=0 x = [int(input("Введите элемент: ")) for i in range(n)] print(x) for i in range(n): if x[i]%3==0: y+=1 print("Числа / на 3: " + str(y)) for i in range(n): if x[i]%2==0: m+=x[i] k+=1 g=m/k print("Среднее арифметическое чисел с чётным значением: " + str(g)) Результат выполнения: Задача 1.3 Дан одномерный массив числовых значений, насчитывающий N элементов. Определить, имеются ли в массиве два подряд идущих нуля. Код: n = int(input("Введите кол-во элементов: ")) a = [int(input("Введите элемент: ")) for i in range(n)] for i in range(n): if a[i]==0 and a[i+1]==0: print("В массиве есть два подряд идущих нуля: ", a) exit() Результат выполнения: Задача 2.1 Дано нечетное число n. Создайте двумерный массив из n×n элементов, заполнив его символами "."(каждый элемент массива является строкой из одного символа). Затем заполните символами "*" среднюю строку массива, средний столбец массива, главную диагональ и побочную диагональ. В результате единицы в массиве должны образовывать изображение звездочки. Выведите полученный массив на экран, разделяя элементы массива пробелами. Код: x= int(input("Введите нечётное число: ")) b= [['.']*x for i in range(x)] for i in range(x): b[i][i] = '*' b[x // 2][i] = '*' b[i][x // 2] = '*' b[i][x - i - 1] = '*' for row in b: print(' '.join(row)) Результат выполнения: Задача 2.2 Даны два числа n и m. Создайте двумерный массив размером n×m и заполните его символами "." и "*" в шахматном порядке. В левом верхнем углу должна стоять точка. Код: n, m = input("Введите два числа через пробел: ").split() for i in range(int(n)): str = ' ' for j in range(int(m)): str = str + ('.' if (j % 2 != 0 if i % 2 != 0 else j % 2 == 0 ) else '*') + ' ' print(str.strip()) Результат выполнения: Задача 2.3 Дано число n. Создайте массив размером n×n и заполните его по следующему правилу. На главной диагонали должны быть записаны числа 0. На двух диагоналях, прилегающих к главной, числа 1. На следующих двух диагоналях числа 2, и т.д. Код: n=int(input("Введите число: ")) a=[['.']*n for i in range(n)] for i in range(n): for j in range(n): a[i][j]=abs(i-j) for row in a: print(' '.join([str(i) for i in row])) Результат выполнения: Задача 3.1 В текстовый файл построчно записаны фамилия и имя учащихся класса и его оценка за контрольную. Вывести на экран всех учащихся, чья оценка меньше 3 баллов Код: f = open('Spisok.txt', encoding="utf8") for line in f: line = line.strip("\n") ball = int(line[-1]) if ball < 3: print("Ученик с оценкой меньше 3: " + str(line[:-1])) Файл: Результат выполнения: Задача 3.2 В текстовом файле посчитать количество строк, а также для каждой отдельной строки определить количество в ней символов и слов. Подсчет строк:Ввести счетчик Код: lines = 0 words = 0 letters = 0 f = open('student.txt', encoding="utf8") for line in f: lines += 1 letters += len(line) dada = 0 for letter in line: if letter != ' ' and dada == 0: words += 1 dada = 1 elif letter == ' ': dada = 0 print('Количество линий: ', lines) print('Количество слов: ', words) print('Количество символов: ', letters) Файл: Результат выполнения: |