Цена в зависимости от времени на python

Рейтинг: 0Ответов: 0Опубликовано: 28.04.2023

Решил заняться изучением Python. В голову пришла мысль написать калькулятор который будет автоматически выдавать цену игры на компьютере в зависимости от прайса. Например стоимость игры с 8 00 - 12 00 (60р/ч), 12 00 - 17 00 (100р/ч), 17 00 - 8 00(следующего дня) (110р/ч). Написать подобное для оказалось не так легко... Пытался написать все это с помощью библиотеки datetime и с помощью условий (if). Да - получилось написать что-то похожее на нормальную программку, вот только все упирается в то, что если указать время которое затрагивает более одной смены тарифа (Например: человек будет играть с 11:00 - 19:00), то получается уже не правильный ответ. К сожалению не могу придумать как все это правильно написать ((( Вот пример моего кода:

import datetime
from datetime import date, time, datetime, timedelta


timenow = timedelta(hours = datetime.now().hour, minutes = datetime.now().minute)
#timenow = timedelta(hours = 7, minutes = 0)
print ("СЕЙЧАС -", timenow)
print ("ОБЩИЙ ЗАЛ")

day = datetime.now()
day = day.strftime("%A")
#day = "Monday"
print(day)

time_0 = timedelta(hours = 0)
time_8 = timedelta(hours = 8)
time_10 = timedelta(hours = 10)
time_12 = timedelta(hours = 12)
time_15 = timedelta(hours = 15)
time_17 = timedelta(hours = 17)
time_22 = timedelta(hours = 22)


time_zapros_h = int(input ("Сколько будет играть гость ? (часы) :"))
time_zapros_m = int(input ("Сколько будет играть гость ? (минуты) :"))
time_gostya = timedelta(hours = time_zapros_h, minutes = time_zapros_m)


 
if day == "Monday" or day == "Tuesday" or day == "Wednesday" or day == "Thursday":


    if timenow >= time_0 and timenow < time_8:
        time_gostya_end = (timenow + time_gostya) - time_8
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*110 + time_zapros_m*(110/60)
            
        else:
            summa_po_pred_tarify = (time_8-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 110
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (110/60)

            summa_po_sled_tarify = time_gostya - (time_8-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *60
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (60/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H


    elif timenow >= time_8 and timenow < time_12:
        time_gostya_end = (timenow + time_gostya) - time_12
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*60 + time_zapros_m*(60/60)
            
        else:
            summa_po_pred_tarify = (time_12-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 60
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (60/60)

            summa_po_sled_tarify = time_gostya - (time_12-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *100
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (100/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H


    elif timenow >= time_12 and timenow < time_17:
        time_gostya_end = (timenow + time_gostya) - time_17
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*100 + time_zapros_m*(100/60)
        else:
            summa_po_pred_tarify = (time_17-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 100
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (100/60)

            summa_po_sled_tarify = time_gostya - (time_17-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *110
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (110/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H 


    elif timenow >= time_17 and timenow < time_17 + time_15:
        time_gostya_end = (timenow + time_gostya) - (time_17 + time_15)
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*110 + time_zapros_m*(110/60)
        else:
            summa_po_pred_tarify = ((time_17 + time_15)-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 110
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (110/60)

            summa_po_sled_tarify = time_gostya - ((time_17 + time_15)-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *60
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (60/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H





elif day == "Friday":


    if timenow >= time_0 and timenow < time_8:
        time_gostya_end = (timenow + time_gostya) - time_8
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*100 + time_zapros_m*(100/60)
            
        else:
            summa_po_pred_tarify = (time_8-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 100
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (100/60)

            summa_po_sled_tarify = time_gostya - (time_8-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *60
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (60/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H


    elif timenow >= time_8 and timenow < time_12:
        time_gostya_end = (timenow + time_gostya) - time_12
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*60 + time_zapros_m*(60/60)
        else:
            summa_po_pred_tarify = (time_12-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 60
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (60/60)

            summa_po_sled_tarify = time_gostya - (time_12-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *100
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (100/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H

            
    elif timenow >= time_12 and timenow < time_17:
        time_gostya_end = (timenow + time_gostya) - time_17
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*100 + time_zapros_m*(100/60)
        else:
            summa_po_pred_tarify = (time_17-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 100
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (100/60)

            summa_po_sled_tarify = time_gostya - (time_17-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *110
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (110/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H 


    elif timenow >= time_17 and timenow < time_22:
        time_gostya_end = (timenow + time_gostya) - time_22
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*110 + time_zapros_m*(110/60)
        else:
            summa_po_pred_tarify = (time_22-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 110
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (110/60)

            summa_po_sled_tarify = time_gostya - (time_22-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *130
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (130/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H


    elif timenow >= time_22 and timenow < time_17 + time_10:
        time_gostya_end = (timenow + time_gostya) - (time_17 + time_10)
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*130 + time_zapros_m*(130/60)
        else:
            summa_po_pred_tarify = ((time_17 + time_10)-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 130
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (130/60)

            summa_po_sled_tarify = time_gostya - ((time_17 + time_10)-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *80
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (80/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H



elif day == "Saturday":

    if timenow >= time_0 and timenow < time_8:
        time_gostya_end = (timenow + time_gostya) - time_8
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*130 + time_zapros_m*(130/60)
            
        else:
            summa_po_pred_tarify = (time_8-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 130
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (130/60)

            summa_po_sled_tarify = time_gostya - (time_8-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *80
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (80/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H


    elif timenow >= time_8 and timenow < time_12:
        time_gostya_end = (timenow + time_gostya) - time_12
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*80 + time_zapros_m*(80/60)
        else:
            summa_po_pred_tarify = (time_12-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 80
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (80/60)

            summa_po_sled_tarify = time_gostya - (time_12-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *110
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (110/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H

            
    elif timenow >= time_12 and timenow < time_17:
        time_gostya_end = (timenow + time_gostya) - time_17
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*110 + time_zapros_m*(110/60)
        else:
            summa_po_pred_tarify = (time_17-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 110
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (110/60)

            summa_po_sled_tarify = time_gostya - (time_17-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *130
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (130/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H 


    elif timenow >= time_17 and timenow < time_17 + time_15:
        time_gostya_end = (timenow + time_gostya) - (time_17 + time_15)
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*130 + time_zapros_m*(130/60)
        else:
            summa_po_pred_tarify = ((time_17 + time_15)-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 130
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (130/60)

            summa_po_sled_tarify = time_gostya - ((time_17 + time_15)-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *80
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (80/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H



elif day == "Sunday":


    if timenow >= time_0 and timenow < time_8:
        time_gostya_end = (timenow + time_gostya) - time_8
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*130 + time_zapros_m*(130/60)
            
        else:
            summa_po_pred_tarify = (time_8-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 130
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (130/60)

            summa_po_sled_tarify = time_gostya - (time_8-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *80
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (80/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H



    elif timenow >= time_8 and timenow < time_12:
        time_gostya_end = (timenow + time_gostya) - time_12
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*80 + time_zapros_m*(80/60)
        else:
            summa_po_pred_tarify = (time_12-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 80
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (80/60)

            summa_po_sled_tarify = time_gostya - (time_12-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *110
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (110/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H

            
    elif timenow >= time_12 and timenow < time_17:
        time_gostya_end = (timenow + time_gostya) - time_17
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*110 + time_zapros_m*(110/60)
        else:
            summa_po_pred_tarify = (time_17-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 110
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (110/60)

            summa_po_sled_tarify = time_gostya - (time_17-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *130
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (130/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H 


    elif timenow >= time_17 and timenow < time_22:
        time_gostya_end = (timenow + time_gostya) - time_22
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*130 + time_zapros_m*(130/60)
        else:
            summa_po_pred_tarify = (time_22-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 130
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (130/60)

            summa_po_sled_tarify = time_gostya - (time_22-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *110
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (110/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H


    elif timenow >= time_22 and timenow < time_17 + time_10:
        time_gostya_end = (timenow + time_gostya) - (time_17 + time_10)
        if time_gostya_end < timedelta(hours=0, minutes=0):
            summa_olati = time_zapros_h*130 + time_zapros_m*(130/60)
        else:
            summa_po_pred_tarify = ((time_17 + time_10)-timenow)
            summa_po_pred_tarify = datetime(year=1, month=1, day=1) + summa_po_pred_tarify
            summa_po_pred_tarify_H = summa_po_pred_tarify.strftime("%H")
            summa_po_pred_tarify_H = int(summa_po_pred_tarify_H) * 130
            summa_po_pred_tarify_M = summa_po_pred_tarify.strftime("%M")
            summa_po_pred_tarify_M = int(summa_po_pred_tarify_M) * (130/60)

            summa_po_sled_tarify = time_gostya - ((time_17 + time_10)-timenow)
            summa_po_sled_tarify = datetime(year=1, month=1, day=1) + summa_po_sled_tarify
            summa_po_sled_tarify_H = summa_po_sled_tarify.strftime("%H")
            summa_po_sled_tarify_H = int(summa_po_sled_tarify_H) *80
            summa_po_sled_tarify_M = summa_po_sled_tarify.strftime("%M")
            summa_po_sled_tarify_M = int(summa_po_sled_tarify_M) * (80/60)

            summa_olati = summa_po_sled_tarify_H + summa_po_sled_tarify_M + summa_po_pred_tarify_M + summa_po_pred_tarify_H




print (round(summa_olati), "- рублей")

Ответы

Ответов пока нет.