• Меня уверяют в том, что под Ubuntu есть универсальный драйвер NVidia, так ли это?

    smorman
    @smorman
    When In Rome do as The Romans do...
    Нет такого драйвера!
    Может быть у вас карточка, которую ещё не успели портировать, а может уже такая старая, что просто не поддерживается и т.д...

    Кстати, у меня есть карточка nVidia, которую не поддерживает, ни проприетарник, ни родной для Линя.
    А на втором компе c 7-й мелкой всё гут!
    Мелкие 10 и 11 тоже не дают карточке драйвер...
    Так что нет такого драйвера!
    Ответ написан
    3 комментария
  • Меня уверяют в том, что под Ubuntu есть универсальный драйвер NVidia, так ли это?

    @rPman
    Везде и все работать не будет, универсального драйвера не существует. Но проприетарный драйвер от nvidia распространяется не только как уже собранные бинарный пакет (в т.ч. включаемый в поставку той же ubuntu, устанавливается из настроек) но и в качестве приложения (оно собственно и скачивается с сайта) которое позволяет сгенерировать установочный пакет под твою версию ОС (поддерживаются как deb так и rpm), т.е. после обновления ядра скорее всего потребуется заново запустить этот скрипт, он повторно соберет нужные модули ядра и обновит установку (в т.ч. оффлайн) и все будет работать до тех пор пока это принципиально возможно.

    В linux есть открытый nouveau драйвер, которого хватит чтобы в принципе отрисовка работала, работал выбор видеорежима, отличного от vga, с некоторыми шансами может работать звук по hdmi и мультимониторные конфигурации

    Везде это работать не будет потому что nvidia фактически это запрещает
    Little hope of reclocking becoming available for GM20x and newer GPUs as firmware now needs to be signed by NVIDIA to have the necessary access.
    Ответ написан
    Комментировать
  • Как исправить код что бы сработал модуль keyboard python?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Вас не смущает, что вы импортирует модуль и через строчку переопределяете данное имя?
    import keyboard
    from turtle import*
    keyboard = Turtle()

    Далее вы настраиваете вашу черепашку, обозначенную как "клавиатура". Странно, но ок.
    keyboard.color('blue')
    keyboard.shape('turtle')

    После чего в цикле вы ждете, как я понял, нажатия на единицу, при помощи метода wait() из модуля keyboard. Проблема в том, что у вас keyboard это Turtle()
    while True:
        keyboard.wait("1")
        keyboard.fd(30)
    exitonclick()
    Ответ написан
    Комментировать
  • Легкий вопрос по Python, но все же не могу понять, как решить задачу?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Прописывайте условия полностью
    У вас не «(a - 1 либо a + 1) равны c», а «(a - 1) или (a+1=c)»

    т. е bool(a-1)

    if (a - 1 == c) or (a + 1 == c):
    Ответ написан
    Комментировать
  • Как создать окно/полноценное приложение на чистом Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Tkinter - не сторонняя библиотека, она входит в стандартный дистрибутив Python.
    Ответ написан
  • Что делает "..." в Python?

    Vindicar
    @Vindicar
    RTFM!
    Вообще обычно это заглушка. Но это уникальное значение (как None), и его можно использовать для своих целей, при желании.
    Например, в numpy он используется так: если у нас есть массив с 3 измерениями, и мы хотим задать срез по третьему измерению, мы можем записать либо так array[:, :, 0] либо так array[..., 0].
    По-моему, еще в typing есть применения.
    Ответ написан
    Комментировать
  • Как установить ffmpeg на телефон?

    @Drno
    Что "нужно в system32" ?

    я вообще не думаю что туда можно вкорячить ffmpeg

    а вообще думаю имеет смысл смотреть установку под ARM64
    Ответ написан
    Комментировать
  • Как научить чат-бота в телеграм воспринимать буквы?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Я пришлю тебе

    '';drop table config;select bitcoin from config

    И таблица config будет удалена. Это называется SQL-инъекцией.

    Ты не оборачиваешь строку в кавычки, разумеется, ничего хорошего не получится. В случае цифр, конечно, запрос без кавычек выполняется успешно. Но вообще это неправильный способ использования SQL, так как любая кавычка его сломает, а тщательно подготовленный текст (пример я привёл) вообще вызовет не тот запрос, который планировался.

    Правильно использовать плейсхолдеры:

    q.execute("UPDATE config SET bitcoin=? WHERE id=?", (new_bitcoin, user_id))


    В этом случае база данных сама правильно всё подставит и выполнит.
    Ответ написан
    Комментировать
  • Что еще можно добавить?

    Vindicar
    @Vindicar
    RTFM!
    Мой совет: сделай каждую команду отдельной функцей вида:
    # ': str' - это type hint. На выполнение не влияет, оно в первую очередь для читаемости. Можешь пока пропустить.
    def command_plus(args: str):  # функция получает аргумент как строку, вместо вызова input().
            "Складывает указанные числа."  # doc-string содержит человекочитаемое описание функции
            print("Калькулятор на сложение")
            parts = [int(part) for part in args.split()]  # операции со строками, list comprehensions
            if not parts:  # какие значения в питоне истинные (truey), какие ложные (falsy)?
                    parts.append(int(input("1-е число: ")))
                    parts.append(int(input("2-е число: ")))
            res = sum(parts)
            print(f"Результат: {res}")  # f-строки

    Далее, научись работать со словарями:
    # словарь, содержащий имя команды и её функцию
    commands = {
            'calc +': command_plus,
            # тут будут другие команды
    }

    Тогда рабочий цикл будет примерно таким:
    while True:
            cmd = input('Введите команду: ')  # например, "calc + 2 3 5"
            for cmd_name, cmd_func in commands.items():  # цикл for, операции со словарями
                    if cmd.startswith(cmd_name):  # операции со строками
                            cmd = cmd[len(cmd_name):]  # срезы (slice)
                            try:  # обработка исключений
                                    cmd_func(cmd)
                            except Exception as err:
                                    print(f"Произошла ошибка: {err}")
                            break  # операторы передачи управления
            else:  # Как работает оператор else: совместно с циклами?
                    if cmd == 'exit':
                            print('До свиданья')
                            break # прерываем while
                    else:
                            print(f"Неизвестная команда: {cmd}")

    Будет куда проще читать код и расширять функциональность.
    Ну и почитай по темам, которые я упомянул в комментариях.
    Ответ написан
    Комментировать
  • Использование интерфейсов в Java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Автору. Вы взяли какой то очень невнятный пример себе. Образно говоря интерфейс это абстракция.
    К примеру у вас есть некая игра. В игре есть транспорт. Вы задаетесь вопросом а какбы сделать так что бы не знать о том что именно это за транспорт но при этом уверенно использовать его.
    1) Вы смотрите все свои классы: легковая машина, автобус, самолет, катер, велосипед.
    2) У всех классов транспорта можно выделить общие черты. Они могут ехать вперед\назад, рулить влево\вправо, подать сигнал и т.д.
    3) Описываете интерфейс с этими выделенными общими методами. Например
    interface Transport{
       void gazuem();
       void tormozim();
       void signalim();
    ...
    }

    4) Теперь настало время реализовать этот интерфейс. Пример:
    public class Avtobus implements Transport{    
        public void gazuem() {
            //реализация особенности как едет автобус
        }
        public void signalim() {
            //тут просто школьный Фа-Фа
        }
    }
    //Велосипед
    public class Velosiped implements Transport{    
        public void gazuem() {
            //реализация особенности как будете крутить педали
        }
        public void signalim() {
            //тут колокольчиком Дзинь-Дзинь
        }
    }
    //Остальные реализации

    5) Абстрагируемся в коде от реализаций конкретных видов транспорта, т.е. работаем с ними как с черной коробкой. Например:

    Transport velik = new Velosiped();
    Transport avtobus = new Avtobus();
    ...
    Transport samolet = new Samolet();
    
    ...
    И гдето , например, все виды транспорта попали в коллапс и надо резко посигналить.
    velik.signalim(); //Дзинь дзинь
    avtobus.signalim(); // Фа-Фа
    samolet.signalim();// А тут звуков не будет но вам до лампочки и никаких ошибок не будет
    ...
    //Дальше, например, у игрока есть метод использовать.
    //Вам не нужно знать какой именно тип транспорта перед ним, вы просто делаете следующее:
    class Player{
    ...
    public void use(Object someObject){
              if(someObject instanceof Transport){
                    //Сюда попадет абсолютно любой тип транспорта
                    ((Transport)someObject).sadimsya(); //Что там внутри и как оно работает вас уже не интересует
              }
    }
    ...
    }

    Вот в целом как то так это выглядит.
    Ответ написан
  • Игра угадай число. Как сделать так чтобы после каждого введённого числа писало на 1 попытку меньше?

    @ishaimiev
    Вот не большой пример
    import random
    import time
    import sys
    
    number = random.randint(1,3)
    
    
    
     
    def game(num):
    		print("У тебя есть 4 попытки!")	
    		while num>0:
    			num=num-1
    			user_num= int(input())
    			print('На 1 попытку меньше, у вас еще', num)
    		
    			if user_num == number:
    				print('Вы угадали число!')
    		else:
    				restart()
    			
     
    def restart():
    	n= input('Хотите еще сыграть?')
    	if n=='Да':
    			game(4)
    				
    	else:
    		
    			break
    game(4)
    
    
    
    #game(4), 4 это число попытки
    Ответ написан
    Комментировать
  • Ошибка при работе с api QIWI. Что делать?

    ScriptKiddo
    @ScriptKiddo
    Проблема в том, что запускаете не тот код, который показываете
    Ответ написан
    Комментировать
  • Почему может не работать оператор write при записи в текстовый файл на Python?

    Vindicar
    @Vindicar
    RTFM!
    Как запускали программу?
    Судя по описанию вы смотрите на окно интерактивного интерпретатора питона.
    Он не должен запускаться при запуске .py файла, так что либо вы как-то не так запускаете, либо питон у вас криво установлен.
    Ответ написан
    Комментировать
  • Как рисовать пикселями на Python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    К примеру matplotlib:
    import numpy as np
    import matplotlib.pyplot as plt
    %matplotlib inline
    
    res = np.zeros((20, 20, 3))
    res[3, 4] = [254, 0, 0]  # рисуем красный пиксель
    
    plt.imshow(res)

    60fd8bf347e84799773733.png
    Ответ написан
    Комментировать
  • Как удалить строку из list при упоминании из списка слов?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    a = [
         {'name': 'Arsenal', 'manager': 'Mikel Arteta', 'url': 'https://site.com/clubs/1030/?from=c_london'},
         {'name': 'Aston Villa', 'manager': 'Dean Smith', 'url': 'https://site.com/clubs/1040/'},
         {'name': 'Brentford', 'manager': 'Thomas Frank', 'url': 'https://site.com/clubs/1050/?from=city_london'},
         {'name': 'Brighton and Hove Albion', 'manager': 'Graham Potter', 'url': 'https://site.com/clubs/1020/'}
    ]
    a = list(filter(lambda x:'?from' not in x['url'], a))
    print(a)
    # [{'name': 'Aston Villa', 'manager': 'Dean Smith', 'url': 'https://site.com/clubs/1040/'}, 
    # {'name': 'Brighton and Hove Albion', 'manager': 'Graham Potter', 'url': 'https://site.com/clubs/1020/'}]
    Ответ написан
    1 комментарий
  • Как удалить строку из list при упоминании из списка слов?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    a = [x for x in a if '?from' not in x['url']]
    Ответ написан
    1 комментарий
  • Как использовать функцию if много раз?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Вариантов тьма.
    Вплоть до паттерна "Стратегия"
    всё зависит от твоего кода, которого здесь нет
    Ответ написан
    Комментировать
  • Передача данных между активити.?

    @Elysey
    Перед вызовом startActivity, в Intent передать данные.
    Например:

    String data = "Эти данные необходимо передать";
    
    Intent i = new Intent(MainActivity.this, SecondActitviy.class);
    i.putExtra("testNameData", data);
    startActivity(i);


    А во втором активити вызывается метод getIntent и по указанному ключу вытаскивается данные.
    Например:
    String data = getIntent().getExtras().getString("testNameData");


    Таким образом можно передавать различные типы данных
    Ответ написан
    Комментировать
  • Почему ошибка RuntimeError: main thread is not in main loop в python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Небось пытаетесь использовать библиотеку графического интерфейса с потоками? Только они потокобезопасными не являются, а потому придётся соблюдать ряд строгих правил. Например запускать цикл событий только в главном потоке и не обращаться к элементам графического интерфейса из любых других потоков, кроме главного.
    Ответ написан
    Комментировать