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

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

alexandersaiko25

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
Alexandersaiko25_Python_Online
« : Июня 23, 2019, 04:34:48 pm »
Мои ДЗ и вопросы

alexandersaiko25

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Alexandersaiko25_Python_Online
« Ответ #1 : Июня 23, 2019, 04:40:55 pm »
Первая тема. Решение ДЗ
1_1


number = int(input("Vvedite 5 zna4noe 4islo - "))

part_one = number//10000
part_two = number%10000//1000
part_three = number%1000//100
part_four = number%100//10
part_five = number%10//1

print(part_one)
print(part_two)
print(part_three)
print(part_four)
print(part_five)


1_2


import math
side_a = float(input("Vvedite storony A - "))
side_b = float(input("Vvedite storony B - "))
side_c = float(input("Vvedite storony C - "))

p = (side_a + side_b + side_c)/2
S = math.sqrt(p*(p-side_a)*(p-side_b)*(p-side_c))
print("Ploshad ravna: ", S)


1_3


import math

radius = float(input("Vvedite radius: "))

d_o = 2 * math.pi * radius

print("Dlina okruzhnosti ravna: ", d_o)


Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 12038
    • Просмотр профиля
    • E-mail
Re: Alexandersaiko25_Python_Online
« Ответ #2 : Июня 24, 2019, 12:17:19 am »
Аlexandersaiko25

Решение верное. Единственное что не используйте в именах переменных заглавные буквы, такой код не очень удачен:
S = math.sqrt(p*(p-side_a)*(p-side_b)*(p-side_c))
Имена переменных принято записывать с маленькой буквы.

alexandersaiko25

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Alexandersaiko25_Python_Online
« Ответ #3 : Июня 24, 2019, 12:42:39 pm »
Спасибо большое! Учту на будущее.

alexandersaiko25

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Alexandersaiko25_Python_Online
« Ответ #4 : Июля 04, 2019, 03:51:16 pm »
ДЗ по 3й теме.

№1
a = int(input("Vvedite zna4enie a: "))
b = int(input("Vvedite zna4enie b: "))
c = int(input("Vvedite zna4enie c: "))
d = int(input("Vvedite zna4enie d: "))

max_number = a
if b > max_number:
    max_number = b
if c > max_number:
    max_number = c
if d > max_number:
    max_number = d

print("Max number: ", max_number)

№2
kvr = int(input("Введите номер квартиры: "))

if 1 <= kvr <= 4:
    print("1й Подъезд, 1й этаж")
elif 5 <= kvr <= 8:
    print("1й Подъезд, 2й этаж")
elif 9 <= kvr <= 12:
    print("1й Подъезд, 3й этаж")
elif 13 <= kvr <= 15:
    print("1й Подъезд, 4й этаж")
elif 16 <= kvr <= 20:
    print("1й Подъезд, 5й этаж")
elif 21 <= kvr <= 24:
    print("1й Подъезд, 6й этаж")
elif 25 <= kvr <= 28:
    print("1й Подъезд, 7й этаж")
elif 29 <= kvr <= 32:
    print("1й Подъезд, 8й этаж")
elif 33 <= kvr <= 36:
    print("1й Подъезд, 9й этаж")

elif 37 <= kvr <= 40:
    print("2й Подъезд, 1й этаж")
elif 41 <= kvr <= 44:
    print("2й Подъезд, 2й этаж")
elif 45 <= kvr <= 48:
    print("2й Подъезд, 3й этаж")
elif 49 <= kvr <= 52:
    print("2й Подъезд, 4й этаж")
elif 53 <= kvr <= 56:
    print("2й Подъезд, 5й этаж")
elif 57 <= kvr <= 60:
    print("2й Подъезд, 6й этаж")
elif 61 <= kvr <= 64:
    print("2й Подъезд, 7й этаж")
elif 65 <= kvr <= 68:
    print("2й Подъезд, 8й этаж")
elif 69 <= kvr <= 72:
    print("2й Подъезд, 9й этаж")

elif 73 <= kvr <= 76:
    print("3й Подъезд, 1й этаж")
elif 77 <= kvr <= 80:
    print("3й Подъезд, 2й этаж")
elif 81 <= kvr <= 84:
    print("3й Подъезд, 3й этаж")
elif 85 <= kvr <= 88:
    print("3й Подъезд, 4й этаж")
elif 89 <= kvr <= 92:
    print("3й Подъезд, 5й этаж")
elif 93 <= kvr <= 96:
    print("3й Подъезд, 6й этаж")
elif 97 <= kvr <= 100:
    print("3й Подъезд, 7й этаж")
elif 101 <= kvr <= 104:
    print("3й Подъезд, 8й этаж")
elif 105 <= kvr <= 108:
    print("3й Подъезд, 9й этаж")

else:
    print("Нет такой квартиры")

№3
year = int(input("Введите год: "))
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
    print("Год высокосный - 366 дней")
else:
    print("Год не высокосный - 365 дней")

№4
a = float(input("Введите длинну стороны a: "))
b = float(input("Введите длинну стороны b: "))
c = float(input("Введите длинну стороны c: "))

if a + b > c and a + c > b and b + c > a:
    print("Треугольник существует")
else:
    print("Треугольник не существует")

№5(Дополнительно)
x = float(input("Vvedite zna4enie x: "))
y = float(input("Vvedite zna4enie y: "))

if 0 <= x <= 4 and 0 <= y <= 4 or (-4 <= x <= 0 and 0 <= y <= 4) or (-4 <= x <= 0 and -4 <= y <= 0) or (0 <= x <= 4 and -4 <= y <= 0):
    print("В круге")
else:
    print("Не попадает в промежуток")

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 12038
    • Просмотр профиля
    • E-mail
Re: Alexandersaiko25_Python_Online
« Ответ #5 : Июля 05, 2019, 11:59:50 pm »
Аlexandersaiko25
Основные темы - Решение верное. Хотя дом очень нерационально. Можно гораздо короче.
Дополнительный материал — не верно. Так для точки x=3.8, y = 3.8 ваш код укажет что точка попадает в круг, а на самом деле нет.

alexandersaiko25

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Alexandersaiko25_Python_Online
« Ответ #6 : Июля 06, 2019, 10:06:50 am »
По поводу дома я так и думал, что можно как-то проще. Подскажите пожалуйста, как можно упростить ?

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 12038
    • Просмотр профиля
    • E-mail
Re: Alexandersaiko25_Python_Online
« Ответ #7 : Июля 06, 2019, 11:17:25 pm »
Аlexandersaiko25

Ну например так можно


flat_number = int(input("Input flat number:  "))
if flat_number > 0 or flat_number <= 4 * 9 * 4:
    access = (flat_number + 35) // 36
    floor = ((flat_number - 36 * (access - 1)) + 3) // 4
    print("Access = ", access)
    print("Floor = ", floor)
else:
print("Sorry but you input wrong flat number")

alexandersaiko25

  • Пользователи
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Alexandersaiko25_Python_Online
« Ответ #8 : Июля 07, 2019, 09:41:48 am »
Спасибо за подсказку.
Замысловатое решение(на текущий момент сложно для понимания).

P.s.  Нет ограничения на количество квартир и если ввести квартиру с номером 1000, то программа пропускает ;)

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 12038
    • Просмотр профиля
    • E-mail
Re: Alexandersaiko25_Python_Online
« Ответ #9 : Июля 08, 2019, 12:32:29 am »
Аlexandersaiko25

Вы правы в спешке решал.
Вот так уже не будет:

flat_number = int(input("Input flat number:  "))
if flat_number > 0 and flat_number <= 4 * 9 * 4:
    access = (flat_number + 35) // 36
    floor = ((flat_number - 36 * (access - 1)) + 3) // 4
    print("Access = ", access)
    print("Floor = ", floor)
else:
    print("Sorry but you input wrong flat number")