Тема: Процедурне програмування
Вивести на екран усі високосні роки з заданого проміжку.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Python → Процедурне програмування
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Вивести на екран усі високосні роки з заданого проміжку.
def which year (year):
year = int (year)
if year % 400 == 0:
intercal = 366
intercal = 365
elif year % 4 == 0 and year $ 100:
intercal = 366 else:
return 365
return intercal
print ("Високосний piк чи ні: , which_year (2020))
Процедурне, функціональне чи об'єктно-орієнтоване - починати все одно треба з алгоритму. Ви можете написати 100 функцій, але які вони матимуть значення, якщо ви з них не можете код зібрати? Розпишіть, що саме має робити програма, що виконати це завдання. Якщо ще будуть проблеми - розпишіть детальніше незрозумілі місця і т.д. Це зветься декомпозицією.
використовуй тег код, якщо хочеш, щоб тебе зрозуміли
#useful function
def isLeap (year):
return year%100 and not year%4 or not year%400
#semiuseful function
def isNotLeap (year):
return year%4 or year%400 and not year%100
#useless&harmful function
def getRange():
start_year = int(input('Enter start year: '))
end_year = int(input('Enter end year: '))
return range(start_year, end_year+1)
#main function
def printLeapYears ():
for year in getRange():
if isLeap(year):
print (year)
def which year (year): year = int (year) if year % 400 == 0: intercal = 366 intercal = 365 elif year % 4 == 0 and year $ 100: intercal = 366 else: return 365 return intercal print ("Високосний piк чи ні: , which_year (2020))
По-перше, відступи. Python визначає за ними, де закінчуються блоки коду (функції, if та ін.). Допишіть пробіли на початку рядків, щоб конструкція if, яка, очевидно, стосується функції which_year, потрапила в тіло цієї функції, а не виконувалась після неї.
def which year (year):
year = int (year)
if year % 400 == 0:
intercal = 366
intercal = 365
elif year % 4 == 0 and year $ 100:
(і так само до кінця функції)
По-друге, треба def which_year замість def which year — ім'я функції не може містити пробілів, мають бути лише літери, цифри та підкреслення.
По-третє, else, в даному випадку, має починатися з нового рядка.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися