Ответы пользователя по тегу Python
  • Как правильно получить номер элемента многомерного массива?

    @grecha10
    Не совсем понятен вопрос.
    Если под "номером" элемента массива вы подразумеваете индекс, то для многомерного массива индекс будет составным, а не единственным числом. Например:

    mls_scc[0][0][0] # -> BV6

    В этом коде вы передаете в переменной index список, а должны передавать единственное значение.

    input_ssc_level = rd[rowm[1][0].index(index)].value


    Напишите вот так, что бы увидеть что попадает в эту переменную:
    for rowm, index in mls_scc:
        print(index) # -> ['BV7', 'BX7', 'BZ7', 'CB7', 'CD7', 'CE7', 'CG7', 'CI7'] -> ['BW7', 'BY7', 'CA7', 'CC7', 'CF7', 'CH7', 'CJ7']
    Ответ написан
    Комментировать
  • Как сравнить имена по их части (или производной) в python?

    @grecha10
    Если это не учебная, а практическая задача, то вы необоснованно усложняете реализацию. Проще и удобнее использовать таблицу имен. Не говоря уже о том, что это единственный способ сравнить одинаковые, но совершенно по разному звучащие имена, например Георгий и Жора, Анна и Нюра.

    Для создания таблицы имен можно использовать обыкновенный список. Например:
    names = [
           ('Саша', 'Александр'), 
           ('Георгий', 'Жора'), 
           ('Лена', 'Леночка', 'Lena')
    ]
    
    name1 = 'Жора'
    name2 = 'Георгий'
    for x in names:
        if name1 in x and name2 in x:
            print(name1, name2, 'same')
    Ответ написан
    Комментировать
  • Почему Tkinter работает неправильно?

    @grecha10
    Дело не в tkinter. Причина в том, что когда lambda определяется внутри цикла, ей нужно обязательно явно передавать переменную цикла. Иначе в каждой lambda окажется значение переменной в последней итерации. Напишите так и все заработает:
    ttk.Button(root,
           text=buttons[id],
           command=lambda id=id: display.insert(0, buttons[id])).grid(row=row_position[id],
           column=column_position[id])
    Ответ написан
    Комментировать