Решение модуля 1.12 из курса «Программирование на Python»

Показываю разборы с ответами и решениями урока 1.12 (Задачи по материалам недели) для курса «Программирование на Python». Предыдущий модуль 1.11 следующий модуль 2.1

В то далёкое время, когда Паша ходил в школу, ему очень не нравилась формула Герона для вычисления площади треугольника, так как казалась слишком сложной. В один прекрасный момент Павел решил избавить всех школьников от страданий и написать и распространить по школам программу, вычисляющую площадь треугольника по трём сторонам.

Одна проблема: так как эта формула не нравилась Павлу, он её не запомнил. Помогите ему завершить доброе дело и напишите программу, вычисляющую площадь треугольника по переданным длинам трёх его сторон по формуле Герона:

Решение модуля 1.12 из курса «Программирование на Python»
a, b, c = int(input()), int(input()), int(input())
p = (a + b + c) / 2
s = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print(s)

Напишите программу, принимающую на вход целое число, которая выводит True, если переданное значение попадает в интервал (-15, 12] \cup (14, 17) \cup [19, +\infty)(−15,12]∪(14,17)∪[19,+∞) и False в противном случае (регистр символов имеет значение).

A=int(input())
if (-15 < A <= 12) or (14 < A < 17) or (19 <= A) :
    print('True')
else:
    print('False')

Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число, второе число и операцию, после чего применяет операцию к введённым числам («первое число» «операция» «второе число») и выводит результат на экран.

Поддерживаемые операции: +/*modpowdiv, где
mod — это взятие остатка от деления,
pow — возведение в степень,
div — целочисленное деление.

Если выполняется деление и второе число равно 0, необходимо выводить строку «Деление на 0!».

x, y, s = float(input()), float(input()), input() 
try:
    if s == '+': print(x + y)
    elif s == '-': print(x - y)
    elif s == '/': print(x / y)
    elif s == "*": print(x * y)
    elif s == 'mod': print(x % y)
    elif s == 'pow': print(x**y)
    elif s == 'div': print(x // y)
except ZeroDivisionError:
    print("Деление на 0!")

Жители страны Малевии часто экспериментируют с планировкой комнат. Комнаты бывают треугольные, прямоугольные и круглые. Чтобы быстро вычислять жилплощадь, требуется написать программу, на вход которой подаётся тип фигуры комнаты и соответствующие параметры, которая бы выводила площадь получившейся комнаты.

Для числа π в стране Малевии используют значение 3.14.

figure = input()
S = 0
if figure == ('треугольник'):
    a, b, c = int(input()), int(input()), int(input())
    p = ((a + b + c) / 2)
    S = ((p * (p - a) * (p - b) * (p - c)) ** 0.5)
elif figure == ('круг'):
    r = int(input())
    S = 3.14 * (r ** 2)
elif figure == ('прямоугольник'):
    a, b = int(input()), int(input())
    S = (a * b)
print(S)

Напишите программу, которая получает на вход три целых числа, по одному числу в строке, и выводит на консоль в три строки сначала максимальное, потом минимальное, после чего оставшееся число.

На ввод могут подаваться и повторяющиеся числа.

a=int(input())
b=int(input())
c=int(input())
Max=max(a,b,c)
Min=min(a,b,c)
Third=(a+b+c)-(Max+Min)
print(Max,Min,Third,sep='\n' )

В институте биоинформатики по офису передвигается робот. Недавно студенты из группы программистов написали для него программу, по которой робот, когда заходит в комнату, считает количество программистов в ней и произносит его вслух: «n программистов».

Для того, чтобы это звучало правильно, для каждого nn нужно использовать верное окончание слова.

Напишите программу, считывающую с пользовательского ввода целое число nn (неотрицательное), выводящее это число в консоль вместе с правильным образом изменённым словом «программист», для того, чтобы робот мог нормально общаться с людьми, например: 1 программист, 2 программиста, 5 программистов.

В комнате может быть очень много программистов. Проверьте, что ваша программа правильно обработает все случаи, как минимум до 1000 человек.

s = int (input())
n1 =" программистов"
n2 =" программист"
n3 =" программиста"
if  s>=0:
  if s==0:
    print(str(s) + n1)
  elif s%100>=10 and s%100<=20:
    print(str(s) + n1)
  elif s%10==1:
    print(str(s) + n2)
  elif s%10>=2 and s%10<=4:
    print(str(s) + n3)
  else:
    print(str(s) + n1)

Паша очень любит кататься на общественном транспорте, а получая билет, сразу проверяет, счастливый ли ему попался. Билет считается счастливым, если сумма первых трех цифр совпадает с суммой последних трех цифр номера билета.

Однако Паша очень плохо считает в уме, поэтому попросил вас написать программу, которая проверит равенство сумм и выведет «Счастливый», если суммы совпадают, и «Обычный», если суммы различны.

На вход программе подаётся строка из шести цифр.

Выводить нужно только слово «Счастливый» или «Обычный», с большой буквы.

a = input()
sum1 = int(a[0]) + int(a[1]) + int(a[2])
sum2 = int(a[3]) + int(a[4]) + int(a[5])
if sum1 == sum2:
    print('Счастливый')
else:
    print('Обычный')

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector