1

Тема: Перевірте код !

Привіт ! Перевірте код.
-----НЕ ПРАВИЛЬНИЙ КОД(який мені треба було редагувати !) ----

# Step 1
start import datetime
# Step 2
birth day = int(input("Day of birth: "))
birth month = int(input("Month of birth: "))
birth year = int(input("Year of birth: "))
day = int(datetime.date.today().day)
month = int(datetime.date.today().month)
year = int(datetime.date.today().year)
# Step 3
if * > **:
 age = year - birth_year
then:
 age = (year - birth_year) - 1
# Step 4
a = age
b = abs(month - birth_month)
c = abs(day - birth_day)
print("Your age: {a} years, {b} months, {c} days")



-------ПРАВИЛЬНИЙ КОД який будьласка перевірте !---

import datetime
# Step 2
birth_day = int(input("Day of birth: "))
birth_month = int(input("Month of birth: "))
birth_year = int(input("Year of birth: "))
day = int(datetime.date.today().day)
month = int(datetime.date.today().month)
year = int(datetime.date.today().year)
# Step 3

if year > birth_year:
 age = year - birth_year
else:
 age = (year - birth_year) - 1
# Step 4
a = age
b = abs(month - birth_month)
c = abs(day - birth_day)
print(f"Your age: {a} years, {b} months, {c} days")

2

Re: Перевірте код !

Программа рахує скільки років,днів,місяців людині по даті народження !

3 Востаннє редагувалося koala (05.04.2019 16:27:51)

Re: Перевірте код !

0. Я спершу не побачив уточнення, тому першу відповідь видалив, звідти (дел).
1. Що буде, якщо дата народження більша за поточну?
2. Сьогодні 5 квітня. Людина народилася 31 березня цього року. Що виведе ваша програма?
3. Скористайтеся об'єктом timedelta.

4

Re: Перевірте код !

koala написав:

(дел)

? так все правильно пряцює ?

5

Re: Перевірте код !

koala написав:

0. Я спершу не побачив уточнення, тому першу відповідь видалив, звідти (дел).
1. Що буде, якщо дата народження більша за поточну?
2. Сьогодні 5 квітня. Людина народилася 31 березня цього року. Що виведе ваша програма?
3. Скористайтеся об'єктом timedelta.

НІ ні ви не так зрозумілі мені саме треба цю прогрмму просто зробити щоб вона робила тобто знищити усі помилки !!!! я просив перевірити программу. Я правильно виправив программу ?

6 Востаннє редагувалося koala (05.04.2019 16:51:45)

Re: Перевірте код !

Вибачте, "виправити всі помилки" означає "зробити так, щоб код працював відповідно до завдання".
Я вже не кажу, що завдання неоднозначне (якщо людина народилася 28 січня, то 28 лютого їй буде 1 місяць чи 1 місяць і 2 дні чи 28 днів?); але все одно ваші виправлення не призвели до того, щоб код працював відповідно до завдання. І найпростіший спосіб це зробити, як на мене - переписати його практично з нуля за допомогою timedelta.

Подякували: leofun011

7 Востаннє редагувалося Eugene2019 (05.04.2019 17:01:52)

Re: Перевірте код !

koala написав:

Вибачте, "виправити всі помилки" означає "зробити так, щоб код працював відповідно до завдання".
Я вже не кажу, що завдання неоднозначне (якщо людина народилася 28 січня, то 28 лютого їй буде 1 місяць чи 1 місяць і 2 дні чи 28 днів?); але все одно ваші виправлення не призвели до того, щоб код працював відповідно до завдання. І найпростіший спосіб це зробити, як на мене - переписати його практично з нуля за допомогою timedelta.

-------
# Step 3
if * > **:
age = year - birth_year
then:
age = (year - birth_year) - 1
# Step 4
-----------
Мені треба було саме цей шмат коду виправити я правильно виправив ? чи якось по іншому треба було
--- ось виправлено ---
# Step 3

if year > birth_year:
age = year - birth_year
else:
age = (year - birth_year) - 1
# Step 4

8

Re: Перевірте код !

Будь ласка, наведіть повну умову. Бо так ми будемо ще довго гратися в уточнення.

9 Востаннє редагувалося Chemist-i (05.04.2019 21:04:52)

Re: Перевірте код !

koala написав:

Будь ласка, наведіть повну умову. Бо так ми будемо ще довго гратися в уточнення.

Chemist-i: Наступного разу самі ховайте під спойлер російську

---- УМОВА (на русс мові)
Программирование на Python
ТЕМА: Разработка компьютерного ассистента
Задание
Программа, приведенная ниже, реализует компьютерного
ассистента, который спрашивает у пользователя день, месяц
и год рождения, а затем выводить возраст в годах, месяцах и
днях. Это была бы очень крутая программа, но кто-то взломал нашу систему и внес изменения в код! В инструкции if
появились символы **, а переменная уже не хранит данные!
Исправьте все ошибки и неточности и запустите программу.
Код к заданию:
# Step 1
start import datetime
# Step 2
birth day = int(input("Day of birth: "))
birth month = int(input("Month of birth: "))
birth year = int(input("Year of birth: "))
day = int(datetime.date.today().day)
month = int(datetime.date.today().month)
year = int(datetime.date.today().year)
Домашнее задание №5
2
# Step 3
if * > **:
age = year - birth_year
then:
age = (year - birth_year) - 1
# Step 4
a = age
b = abs(month - birth_month)
c = abs(day - birth_day)
print("Your age: {a} years, {b} months, {c} days")
Результат работы: файл с расширением .py.
Выбор ПО на ваше усмотрение: Atom, PyCharm, Python IDLE.

10

Re: Перевірте код !

Якийсь москальський непотріб.

Подякували: leofun011

11

Re: Перевірте код !

koala написав:

Якийсь москальський непотріб.

Ну треба зробити так правильно ?

12

Re: Перевірте код !

Правильно буде пройти CS50 на Prometheus, а не страждати фігнею на москальському сайті, де навіть завдання нормально сформулювати не можуть.

Подякували: leofun011

13

Re: Перевірте код !

koala написав:

Правильно буде пройти CS50 на Prometheus, а не страждати фігнею на москальському сайті, де навіть завдання нормально сформулювати не можуть.

Дякую) я трохи переробив що скажете !

import datetime
# Step 2
birth_day = int(input("Day of birth: "))
birth_month = int(input("Month of birth: "))
birth_year = int(input("Year of birth: "))
day = int(datetime.date.today().day)
month = int(datetime.date.today().month)
year = int(datetime.date.today().year)
# Step 3
if birth_month < month:
 age = year - birth_year
else:
 age = (year - birth_year) - 1
# Step 4
a = age
b = (month - birth_month)
c = (day - birth_day)
print(f"Your age: {a} years, {b} months, {c} days")

14

Re: Перевірте код !

Ввів 31 3 2019 - воно каже "Your age: 0 years, 1 months, -25 days".

Подякували: Eugene20191

15

Re: Перевірте код !

koala написав:

Ввів 31 3 2019 - воно каже "Your age: 0 years, 1 months, -25 days".

мдяяя) добре Дякую за допомогу