• Как решить уравнение с div без перебора?

    Если 4 и 7 в примере - это два параметра уравнения (a и b, соответственно), принимающие лишь целые положительные значения, то без перебора - запросто:
    def solve_equation(a,b):   # x - a(x div b) = b
        if a%1 + b%1 != 0:
            raise ValueError('both variables must have integer values')
        if 0 < a < b: x = a + b
        else: x = None
        return x
    В том смысле, что для любых a < b ответ: a + b. Для всех прочих - решение отсутствует.
    Ответ написан
    9 комментариев
  • Почему окно появляется на секунду и исчезает?

    dabiankolins1 , добавь последней строкой:
    turtle._root.mainloop()
    и всё заработает :)

    С ткинтером также: из py-файла работает, но чтобы в exe-шке окно задерживалось на экране и не исчезало тут же, необхожима аналогичная строчка.
    Ответ написан
    2 комментария
  • Можно ли вычислить это математическое выражение с суммой без использования цикла средствами Python?

    Возможно, я неверно понял вопрос (я уточнял в комментариях), но если всё воспринимать буквально, для решения такой задачи я бы использовал что-то вроде этого:
    from math import factorial as fact
    
    def sigma(n,x):
        if abs(x) in range(abs(n)+1):
            raise ValueError('check the arguments values ')
        else:
            return sum(
                [(-1)**(n-k)*fact(2*n)/fact(n+k)/fact(n-k)/(x-k)
                for k in map(lambda i: i-n, range(2*n+1))]
                )
    Ответ написан
  • Запуск EXE файла из Python и закрыть его через некоторое время?

    как я уже писал в комментарии, зависти от того, какой у Вас метод определения успешности завершения работы ЕХЕ-шки. Вот общий шаблон:
    from os import startfile
    from psutil import process_iter
    from time import sleep
    
    def is_completed(some_attribute):
        #if <your cheking method>: return True
        #else: return False
    
    startfile(some_file)
    
    while not is_completed(some_attribute):
        sleep(some_time)
    
    for proc in process_iter():
        if proc.name() == some_file.split("\\")[-1]:
            proc.kill()

    some_file - Ваш EXE файл
    some_time - временной интервал проверок завершения (на Ваше усмотрение)
    some_attribute - если проверки по наличию отчёта об исполнении, то имя отчёта для os.path.exists(some_attribute) или чтения отчёта с поиском заветной строчки "well done"
    Ответ написан
    Комментировать
  • Как получить путь к файлу Kivy(Python)?

    Либо задача не полностью сформулирована, либо всё предельно просто:
    from tkinter import filedialog
    
    fn = filedialog.askopenfilename()
    Ответ написан
    Комментировать
  • Как преобразовать строку вида '31 Jul 2018' в дату?

    По-моему, проще и логичнее использовать всё тот же datetime, скорее всего он уже импортирован, и нет необходимости раздувать проект дополнительными библиотеками:
    from datetime import datetime
    d = datetime.strptime( "31 Jul 2018", "%d %b %Y" )
    Ответ написан
    Комментировать
  • Как скопировать слова между определенными символами?

    Зачем же re? Необязательно импортитровать специальный модуль - думаю, можно и стандартными сплитами или партишном собрать такой список...

    При помощи partition на скору руку можно и так:
    string = """('OK', [b'(\\Inbox) "/" "INBOX"', b'() "/" "&BCIENQRBBEIEPgQyBEsENQ- &BEIENQQ7BDUEMwRABDAEPAQ8BEs-"', b'(\\Spam) "/" "&BCEEPwQwBDw-"', b'(\\Sent) "/" "&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-"', b'(\\Drafts) "/" "&BCcENQRABD0EPgQyBDgEOgQ4-"', b'(\\Trash) "/" "&BBoEPgRABDcEOAQ9BDA-"', b'(\\NoInferiors) "/" "INBOX/Social"', b'(\\NoInferiors) "/" "INBOX/News Letters"'])"""
    
    res = []
    st_rest = string.partition('''/" "''')[2]
    
    while st_rest != '':
        part = st_rest.partition(""""'""")
        res.append(part[0])
        st_rest = part[2].partition('''/" "''')[2]
    
    for r in res: print(r)
    
    # INBOX
    # &BCIENQRBBEIEPgQyBEsENQ- &BEIENQQ7BDUEMwRABDAEPAQ8BEs-
    # &BCEEPwQwBDw-
    # &BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-
    # &BCcENQRABD0EPgQyBDgEOgQ4-
    # &BBoEPgRABDcEOAQ9BDA-
    # INBOX/Social
    # INBOX/News Letters
    ...наверняка можно написать и более толково, но, как по мне, так тут проблемы вообще нету.

    П.С.: и да, символы, обрамляющие названия папок, я немного расширил (дополнил предложенные в вопросе)
    Ответ написан
    Комментировать
  • Как пропустить, или прочитать все?

    В продолжение к моему комментарию добавлю, что судя по всему, "Нужная мне информация находится" не во втором, а в третьем (первый boxcontent содержит ещё один внутри себя) - раз такое дело, я могу предложить добавить к Вашему коду ещё 4 строчки до такого результата:
    def parse(html):
        soup = BeautifulSoup(html, "html.parser")
        div = soup.find("div", id="wrapper")
        diver = div.find("div", id="content")
        content = diver.findAll("div", class_="boxcontent")
        data_lst = content[2].findAll("tr")
        for field in data_lst:
            f = field.findAll("td")
            print('%s\t%s\t%s' % tuple(map(lambda t: t.text.strip(), f)))
    
    ##Имя:	Юлия	
    ##Контактный телефон:	+375257784933	
    ##Мобильный телефон:	+375257784933

    хотя в свою защиту скажу, что сам бы я писал чуть иначе ;)

    П.С.: с последней строчкой я и вовсе что-то разошёлся, но ведь задача была - именно вывести на экран, а раз так, то это должно быть красиво )
    Ответ написан
  • Как создать новый столбец с помощью других столбцов с априорными ограничениями на содержимое?

    не numpy, конечно, но с обычным двумерным массивом я бы сделал так:
    base = [
        ['автобус', 4, 100500],
        [37, 2, 100500],
        [57, 3, 100500],
        ['троллейбус', 4, 100500]
        ]
    
    for i in base:
        i.append(i[0] if isinstance(i[0], str) else 'NaN')
    Ответ написан
    Комментировать
  • Почему функция remove из массива не работает?

    Соглашусь с LaRN...
    ...ну, и конечно же, используйте del вместо remove, поскульку
    "list.remove(x) удаляет первый элемент в списке, имеющий значение x" ;) - так что remove как раз работает исправно :)

    В таком случае минимальным изменением кода будет:
    ...
    for k in range(0,c)[::-1]:
        m = Array_counter[k]
        print("Индекс элемента с нулевым значением = ", m)
        del(array[m])  # удаляем 0 с индексом m
    ...
    Ответ написан
    Комментировать
  • Как сгруппировать массив?

    К моему "алгоритму" из комментариев, могу привести такой код на python:
    (я видел, что вопрос с тегом "JAVASCRIPT", но лучше так, чем вовсе без кода)
    from itertools import combinations
    
    def ungroup(data_list, limit):
        data_list.sort()
        result_list = []
        while sum(data_list) > limit:
            series = [data_list.pop()]
            rest = limit - series[0]
            if rest == 0:
                result_list.append(series)
            elif rest in data_list:
                result_list.append(series + [data_list.pop(data_list.index(rest))])
            else:
                sublist = data_list.copy()
                for i in data_list:
                    if i > rest:
                        sublist = data_list[:data_list.index(i)]
                        break
                for n in range(2, len(sublist)):
                    comb = {sum(i): i for i in combinations(sublist, n)}
                    if rest in comb.keys():
                        series.extend(comb[rest])
                        for i in comb[rest]: data_list.remove(i)
                        break
                result_list.append(series)
        if len(data_list) > 0:
            result_list.append(data_list)
        return result_list
    
    print(ungroup([6, 4, 4, 3, 2, 1.5, 1, 0.5], 6))
    # [[6], [4, 2], [4, 0.5, 1.5], [1, 3]]
    Ответ написан
    3 комментария
  • Как исключить из диапазона число в языке Python?

    мне для "больше трех" вариант с *x_avg у aRegius понравился - но это если непременно идёт присвоение min и max. А самому же по первоначалу в голову пришло тоже sorted + слайс.
    a,b,c,d = 1,5,2,4
    sorted((a,b,c,d))[1:-1]

    ну, а если всё же три, то просто:
    sorted((a,b,c))[1]
    Ответ написан
    Комментировать
  • Почему не отоброжаеться текст tkinter в python 3?

    Попробуй функцию after:
    from tkinter import *
    from time import sleep
    
    window = Tk()
    c = Canvas(window, width=800, height=500, bg='darkblue')
    c.pack()
    
    def text_show():
        c.create_text(400,250, text='You win!',\
                      font=('Helvetica', 30), fill='white')
        window.update_idletasks()
        sleep(5)
        exit()
    
    c.after(500, text_show)   # in milliseconds

    П.С.: единственно что, я отцентрировал текст create_text(400,250... вместо create_text(0,0...
    Ответ написан
    Комментировать
  • Отправка СМС через ADB в UTF8?

    Понимаю, что не совсем то, но вдруг поможет. Я кириллицу отправлял через urllib с применением quote
    import urllib.request
    from urllib.parse import quote
    
    api_id = ########-####-####-####-############
    phone = ############
    text = quote('Привет, Toster!', '&=' )
    url = 'https://sms.ru/sms/send?api_id=%s&to=%d&msg=%s' % (api_id, phone, text)
    urllib.request.urlopen(url)
    Ответ написан
    Комментировать
  • Как запускать программу python, чтоб окно гуи не закрывалось?

    Есть уловка: добавь в конец файла строку
    input()
    и тогда перед закрытием будет возможность просмотреть результат в окне, а потом при нажатии Enter - окно закроется, как это происходит у тебя сейчас.
    Ответ написан
    Комментировать