noobsa
@noobsa
Поступил на 1 курс в вуз, учу программирование

Как посчитать будни?

Учебна практика для студентов специальности "Информационные системы в менеджменте" в ДонГТУ начинастоя k-го июня и длится з недели. Вступительные экзамены в ДонГТУ начинаются 1 июля. Сколько дней учебной практики в заданном году совпадают со вступительными экзаменами (учитывать только рабочие дни)?

Нужно к этой задаче построить блок-схему, как посчитать будни
k = int(input("Число: "))
g = int(input("Год: "))
i = 0
l = 21 											# счетчик недель практики
f = 31 - k                   					# оставшиеся кол-во дней до конца месяца
if k >=10:
        print("Дней практики в июле: " + str(l - f))
        a = 0 #(14 - 6)/12
        y = g - a
        m = 12 #6+12*a-2
       dnd = ((1 + y + y // 4 - y // 100 + y // 400 + (31* 7+12 * 0 - 2)) % 7) # 1 июля 
        print(str(dnd) + " день недели")
        while dnd != 0 or l == 0 or dnd != 6:
            i += 1              # счетчик дней
            if dnd >= 5:
                dnd = 0
                l = l - 2
            else:
                dnd += 1
                l = l - 1
        r = (l / 7) * 5
        v = (l - r) - 1
        i = i + r + v
        print("Совпадающих дней: " + str(i))

else:
	print("Общих дней нет")


a = (14 − месяц) / 12   # 0
y = год − a			  # y
m = месяц + 12 * a − 2   # 7+ 12 * 0 - 2
ДеньНедели = (день + y + y / 4 − y / 100 + y / 400 + (31 * m) / 12) ОСТАТОК 7
y = int(input())


я написал для себя алгоритм на python. т.к знаю его немного
но не могу все равно додумать задачу. Это задача из методички в вузе, писать будем на c++
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
start = date(2018, 7, 1)  
end = date(2018, 9, 15)  
all_days = [start + timedelta(x) for x in range((end - start).days + 1)]
week_days = [x for x in all_days if x.weekday() in [1, 2, 3, 4, 5]]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы