• Мая 26, 2019, 09:56:20 pm
• Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Новости: Вебинар о выборе IT профессии и руководство для новичков: http://bit.ly/2HG2vFp

Автор Тема: Grey_python_start_online  (Прочитано 254 раз)

Grey

  • Пользователи
  • *
  • Сообщений: 3
    • Просмотр профиля
    • E-mail
Grey_python_start_online
« : Февраля 09, 2019, 01:58:24 pm »
День добрый
Решение домашнего задания.
Домашнее задание 1.1

1) Написать программу, которая считывает 5-ти значное число с
клавиатуры и выводит цифры, из которого оно состоит.
Например : Считывается число 54698
Выводится:
5
4
6
9
8
z = str(input("Введи число = "))  # ввод числа
z_mirroy = z[::-1]  # инвертируем строку
print("Результат")  # используем срез и выводим результат
print(z[0:1], '      ', z_mirroy[0:1])
print(z[1:2], '      ', z_mirroy[1:2])
print(z[2:3], '      ', z_mirroy[2:3])
print(z[3:4], '      ', z_mirroy[3:4])
print(z[4:5], '      ', z_mirroy[4:5])
print(z[5:], '      ', z_mirroy[5:])  #догадываюсь что можно организовать вывод значений через цыклы, но так нагляднее )


2) Написать программу, которая вычислит и выведет на экран
площадь треугольника, если известны его стороны.
import math  # подключаем библиотеку
a = float(input("Введи длинну стороны a = "))
b = float(input("Введи число длинну стороны b = "))
c = float(input("Введи число длинну стороны c = "))
p = ((a + b + c)) * 0.5  # считаем полупириметр
s_tr = math.sqrt((p * ((p - a) * (p - b) * (p - c))))
print('Площадь треугольника S = ', s_tr)


3) Написать программу, которая вычислит и выведет на экран длину
окружности, если ее радиус считывается с клавиатуры.
import math  # подключаем библиотеку
r = float(input("Введи длинну радиуса r = "))
l_r = float((math.pi * r * 2))  # считаем
print("Длинна окружности l = ", l_r)


Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11690
    • Просмотр профиля
    • E-mail
Re: Grey_python_start_online
« Ответ #1 : Февраля 10, 2019, 12:56:44 am »
Grey

Решение верное

Grey

  • Пользователи
  • *
  • Сообщений: 3
    • Просмотр профиля
    • E-mail
Re: Grey_python_start_online
« Ответ #2 : Марта 02, 2019, 08:44:51 pm »
День добрый
Часть домашней роботы
Домашнее задание
 1) Написать программу, которая считает 4 числа c клавиатуры и выведет на экран самое большое из них.
a = int(input("a = "))
b = int(input("b = "))
c = int(input("c = "))
d = int(input("d = "))


def max_int(a, b, c, d):
    return max((a, b, c, d))


print("Max int = ", max_int(a, b, c, d))


 2) Есть девятиэтажный дом, в котором 4 подъезда. Номер подъезда начинается с
единицы. На одном этаже 4 квартиры. Напишите программу которая, получит
номер квартиры с клавиатуры, и выведет на экран, на каком этаже, какого
подъезда расположенна эта квартира. Если такой квартиры нет в этом доме, то
нужно сообщить об этом пользователю.
import collections
from pprint import pprint

House = collections.namedtuple('House', [
    'pod',
    'begin_number',
    'end_number',
])

house = (
    House(pod=1, begin_number=1, end_number=36),
    House(pod=2, begin_number=37, end_number=73),
    House(pod=3, begin_number=74, end_number=110),
    House(pod=4, begin_number=111, end_number=147),
)
k_number = int(input('Введи номер квартиры k_number = '))
if k_number > 147:
    pprint('Не в этом доме')
elif k_number <= 147:
    pprint(tuple(x for x in house if x.begin_number <= k_number <= x.end_number))


Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11690
    • Просмотр профиля
    • E-mail
Re: Grey_python_start_online
« Ответ #3 : Марта 03, 2019, 12:14:20 am »
Grey

Задание 2. Не верно.

Ваша программа не выводит этаж на котором расположена данная квартира (а это указанно в условии), а выводит только подъезд.

В остальном решение верное.

Grey

  • Пользователи
  • *
  • Сообщений: 3
    • Просмотр профиля
    • E-mail
Re: Grey_python_start_online
« Ответ #4 : Марта 03, 2019, 09:35:51 pm »
День добрый
Исправил касательно этажа в втором задании :
import collections
from pprint import pprint

House = collections.namedtuple('House', [
    'pod',
    'begin_number',
    'end_number',
])

house = (
    House(pod=1, begin_number=1, end_number=36),
    House(pod=2, begin_number=37, end_number=73),
    House(pod=3, begin_number=74, end_number=110),
    House(pod=4, begin_number=111, end_number=147),
)


def get_flor(t):
    z = (t % 36) // 4 + 1
    print("Квартира находиться на", z, "этаже.")


k_number = int(input('Введи номер квартиры k_number = '))
if k_number > 147:
    pprint('Не в этом доме')
else:
    get_flor(k_number)
    pprint(tuple(x for x in house if x.begin_number <= k_number <= x.end_number))


Задание №3
 Определить количество дней в году, который вводит пользователь. В високосном
году - 366 дней, тогда как в обычном их 365. Високосный год определяется по
следующему правилу:
Год високосный, если он делится на четыре без остатка, но если он делится на 100
без остатка, это не високосный год. Однако, если он делится без остатка на 400,
это високосный год.
from pprint import pprint


def get_check(prompt):
    god = int(input(prompt))
    if god % 400 == 0 or god % 100 != 0 and god % 4 == 0:
        pprint('Год высокосный, дней 366 ')
    else:
        pprint('Год обычный, дней 365')


get_check("Введи год = ")


Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 11690
    • Просмотр профиля
    • E-mail
Re: Grey_python_start_online
« Ответ #5 : Марта 04, 2019, 06:19:33 pm »
Grey

Дом и этажи. Неверно.
Так например:
веди номер квартиры k_number = 36
Квартира находиться на 1 этаже.
(House(pod=1, begin_number=1, end_number=36),)

Но как вы понимаете 36 квартира это 9 этаж

Задание о высокостном годе. Верно.