Ответы пользователя по тегу Python
  • Как убрать ненужные знаки в выводе питон?

    a = [['28.07.2022 14:15']]
    b = [['28.07.2022 14:15']]
    
    a_new = a[0][0]
    b_new = b[0][0]
    print(a_new)
    print(b_new)
    Ответ написан
  • Вот такая ошибка вылезла в PyCharm, когда запустил файл: this file was loaded in a wrong encoding utf-8 python. Как решить проблему?

    если MacOS или Linux то сделай так и файл будет корректный:

    with open("index.html", "w", encoding="utf-8") as file:
        file.write(src)


    если Windows:

    with open("index.html", "w", encoding="cp1251") as file:
        file.write(src)
    Ответ написан
    Комментировать
  • Какая разница в механизме работы and и or в цикле while на примере?

    Это основы:

    x and y - конечное выражение будет True , только если x = True И y = True.

    x and y - конечное выражение будет True ,если x = True ИЛИ y = True ИЛИ x = True и y = True.

    Если твоя программа не работает по этим условиям, значит где то нарушена логика.

    P.S. оформи код через кнопку > - это поможет другим людям посмотреть код нормально.
    Ответ написан
  • Как изменить переменную?

    a = "1"
    def f():
        global a
        a = "2"
    f()
    print(a)


    # 2
    Ответ написан
    Комментировать
  • Как вывести результат двух списков циклом?

    Есть такой вариант

    import itertools
    
    x = [1, 2,8]
    y = [4, 5]
    
    for x, y in list(itertools.zip_longest(x,y)):
      print(x, y)


    Result:

    1 4
    2 5
    8 None
    Ответ написан
    Комментировать
  • Как запринтить массив со словарями не в строку?

    from pprint import pprint
    
    pprint(data)
    Ответ написан
    Комментировать
  • Регулярное выражение находящее текст после n-го значения подстроки?

    text = """select
      ds.Job_DmpKey,
      ds.LoadDTM,
      ds.HashDiff,
      ds.SnapshotDT,
      ds.Ctl_Subtype_CD,
      ds.Ctl_LogisticObject_CD,
      ds.Ctl_Description_DSC,
      ds.Ctl_VATProdPostingGroup_CD,
      ds.Ctl_SearchDescription_DSC,
      ds.Ctl_DocumentDescription_DSC
    from (
      select 
        hash(ds.Job_DmpKey) as Job_DmpKey,
        '{{ macros.datetime.now() }}' as LoadDTM,
        hash(
          ds.Ctl_Subtype_CD,
          ds.Ctl_LogisticObject_CD,
          ds.Ctl_Description_DSC,
          ds.Ctl_VATProdPostingGroup_CD,
          ds.Ctl_SearchDescription_DSC,
          ds.Ctl_DocumentDescription_DSC
        ) as HashDiff,
        '{{ ds }}' as SnapshotDT,
        ds.Ctl_Subtype_CD,
        ds.Ctl_LogisticObject_CD,
        ds.Ctl_Description_DSC,
        ds.Ctl_VATProdPostingGroup_CD,
        ds.Ctl_SearchDescription_DSC,
        ds.Ctl_DocumentDescription_DSC
      from (
        select
          'Job*naCitilink*' || cast(stg."No_" as varchar(100)) 		as Job_DmpKey,
          cast(stg.Subtype as varchar(40))							as Ctl_Subtype_CD,
          cast(stg."Logistic Object Code" as varchar(40))				as Ctl_LogisticObject_CD,
          cast(stg."Description"  as varchar(4000))					as Ctl_Description_DSC,
          cast(stg."VAT Prod_ Posting Group" as varchar(40))			as Ctl_VATProdPostingGroup_CD,
          cast(stg."Search Description"  as varchar(4000))			as Ctl_SearchDescription_DSC,
          cast(stg."Document Description"  as varchar(4000))			as Ctl_DocumentDescription_DSC
          
        from Stage.STG_Ctl_Job stg	
        where 
          -- catchup_snapshotdt_start
          stg.SnapshotDT = '{{ ds }}'
          -- catchup_snapshotdt_end
        limit 1 over (partition by stg.No_ order by stg.LoadDTM desc)
      ) ds
    ) ds 
    left join (
        SELECT
          sat.Job_DmpKey,
          sat.HashDiff 
        from RawVault.RV_Sat_Ctl_Job sat
        where 
          -- catchup_snapshotdt_start
          sat.SnapshotDT <= '{{ ds }}'
          -- catchup_snapshotdt_end
        limit 1 over (partition by sat.Job_DmpKey order by sat.LoadDTM desc)
    ) tgt
      on ds.Job_DmpKey = tgt.Job_DmpKey
      and ds.HashDiff = tgt.HashDiff
      
    where tgt.Job_DmpKey is null;"""
    
    new_text = text.rpartition('select')[2].partition('from ')[0]
    
    print(new_text)


    Ответ:

    'Job*naCitilink*' || cast(stg."No_" as varchar(100)) as Job_DmpKey,
    cast(stg.Subtype as varchar(40)) as Ctl_Subtype_CD,
    cast(stg."Logistic Object Code" as varchar(40)) as Ctl_LogisticObject_CD,
    cast(stg."Description" as varchar(4000)) as Ctl_Description_DSC,
    cast(stg."VAT Prod_ Posting Group" as varchar(40)) as Ctl_VATProdPostingGroup_CD,
    cast(stg."Search Description" as varchar(4000)) as Ctl_SearchDescription_DSC,
    cast(stg."Document Description" as varchar(4000)) as Ctl_DocumentDescription_DSC
    Ответ написан
    Комментировать
  • Ошибка в синтаксисе?

    hour=input()
    if hour.isdigit():
        if int(hour) >= 5 and  int(hour) <= 10:
            print("Утро")
        elif int(hour) >= 11 and  int(hour) <= 17:
            print("День")
        elif int(hour) >= 18 and  int(hour) <= 22:
            print("Вечер")  
        elif int(hour) >= 0 and  int(hour) <= 24:
            print("Ночь")  
        else:
            print("Неверное время")
    else:
        print("error")
    Ответ написан
  • Почему оно не хочет нормально работать?

    import random
    c=random.randint(1,100)
    print(c)
    while True:
        tru = int(input('Ugadai '))
        if tru > c:
            print('Neverno menshe')
            continue       
        elif tru < c:
            print('neverno bolshe')
            continue
        else:
            print('Molodec verno')
            break
    Ответ написан
    3 комментария
  • Как перевести математические формулы в паскаль?

    import math
    
    a = int(input("Введите A: "))
    b = int(input("Введите B: "))
    c = int(input("Введите C: "))
    x = int(input("Введите X: "))
    
    
    if x < b:
        y = math.log10(abs(a + x)) * math.cos(abs(x ** 3))
    elif b <= x and x <= c:
        y = math.e ** 1.2 - math.sqrt(abs(a + x))
    elif x > c:
        y = (math.sqrt(abs(a + x)) ** 1 / 3) / (a - x)
    print(y)
    Ответ написан
    5 комментариев
  • Почему не выводит print?

    1) Типы данных:

    b = float(input('Сколько пицц хотите заказать(1, 2, 3)?: '))
    c = float(input('Сколько сантиметров(25, 33, 44)?: '))

    if b == '1':
    if c == '25':

    Вы сравниваете тип данных float с типом данных str.

    Необходимо изменить на:

    b = int(input('Сколько пицц хотите заказать(1, 2, 3)?: '))
    c = int(input('Сколько сантиметров(25, 33, 44)?: '))

    if b == 1:
    if c == 25:

    2) У вас в задаче print() отработает только при очень строгой последовательности входных данных.

    Если выбрать Пеперони, то мы идём по первому условию так как оно True:

    if a == 'Пеперони':
    if b == '1':
    if c == '25':
    print("К оплате 250 рублей")

    Далее сравниваем результат input('Сколько пицц хотите заказать(1, 2, 3)?: ') с if b == 1:

    Если Вы ввели не 1, то мы получаем False и программа завершается.
    Если ввели 1 то True, продолжаем.

    Далее сравниваем результат input('Сколько сантиметров(25, 33, 44)?: ') с if c == 25:

    Если Вы ввели не 25, то мы получаем False и программа завершается.
    Если ввели 25 то True и только в этом случаем отработает print("К оплате 250 рублей")

    Если решать задачу через IF и без сложных проверок введённых данных то получится следующее:

    """
    Условие:
    
    Пеперони   /   Маргарита  /  4 сыра
    25 - 100       25 - 120     25 - 135
    33 - 125       33 - 140     33 - 155
    44 - 150       44 - 160     44 - 175
    
    """
    pizza_name = str(input('Какую пиццу хотите заказать(Пеперони, Маргарита, 4 сыра)?: '))
    if pizza_name in ('Пеперони', 'Маргарита', '4 сыра'):
        pizza_size = int(input('Сколько сантиметров(25, 33, 44)?: '))
        if if pizza_size in (25, 33, 44)::
            pizza_count = int(input('Сколько пицц хотите заказать(1, 2, 3..)?: '))
            if pizza_count > 0:
                if pizza_name == 'Пеперони':
                    if pizza_size == 25:
                        print('Цена 1 пиццы - 100 руб. Сумма Вашего заказа:',pizza_count * 100,'руб.')
                    elif pizza_size == 33:
                        print('Цена 1 пиццы - 125 руб. Сумма Вашего заказа:',pizza_count * 125,'руб.')
                    elif pizza_size == 44:
                        print('Цена 1 пиццы - 150 руб. Сумма Вашего заказа:',pizza_count * 150,'руб.')     
                elif pizza_name == 'Маргарита':
                    if pizza_size == 25:
                        print('Цена 1 пиццы - 120 руб. Сумма Вашего заказа:',pizza_count * 120,'руб.')
                    elif pizza_size == 33:
                        print('Цена 1 пиццы - 140 руб. Сумма Вашего заказа:',pizza_count * 140,'руб.')
                    elif pizza_size == 44:
                        print('Цена 1 пиццы - 160 руб. Сумма Вашего заказа:',pizza_count * 160,'руб.')     
                elif pizza_name == '4 сыра':
                    if pizza_size == 25:
                        print('Цена 1 пиццы - 135 руб. Сумма Вашего заказа:',pizza_count * 135,'руб.')
                    elif pizza_size == 33:
                        print('Цена 1 пиццы - 155 руб. Сумма Вашего заказа:',pizza_count * 155,'руб.')
                    elif pizza_size == 44:
                        print('Цена 1 пиццы - 175 руб. Сумма Вашего заказа:',pizza_count * 175,'руб.')       
            else:
                print("Вы ввели некорректное кол-во пицц!")
        else:
              print("Такого размера пиццы не существует!")   
    else:
        print("Такой пиццы не существует!")
    Ответ написан
    Комментировать