Задать вопрос
  • Как скачать видео с тиктока без вотермарки?

    @kpechenenko
    Можете попробовать код из этого репозитория.
    Ответ написан
    Комментировать
  • Почему используется декремент в данном цикле while?

    @kpechenenko
    Может быть новые имена переменных помогут вам разобраться в том, что происходит.
    class Power {
        public static void main(String args[]) {
            int осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета;
            int результат;
            for (int текущаяСтепеньДвойкиДляОтчета = 0; текущаяСтепеньДвойкиДляОтчета < 10; текущаяСтепеньДвойкиДляОтчета++) {
                результат = 1;
                осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета = текущаяСтепеньДвойкиДляОтчета;
                while (осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета > 0) {
                    результат *= 2;
                    осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета--;
                }
                System.out.println("2 в степени " + текущаяСтепеньДвойкиДляОтчета + " равно " + результат);
            }
        }
    }
    Ответ написан
    Комментировать
  • Не работает бот в Телеграмме?

    @kpechenenko
    Ошибки, допущенные при написании кода:
    - У аргумента функций `bot_message` одно имя, внутри функции пытаетесь обратиться к другому.
    - Запятая вместо точки при получении id чата.
    - Некорректная числовая граница диапазона для получения случайного значения в `random.randint`.
    - Имя параметра 'content_type'.

    После исправления получите следующее:
    import telebot
    from telebot import types
    import random
    
    
    bot = telebot.TeleBot( 'your token here')
    
    
    @bot.message_handler(commands=['start'])
    def start(message):
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        item1 = types.KeyboardButton('рандом')
        item2 = types.KeyboardButton('курсы')
        item3 = types.KeyboardButton('инфа')
        item4 = types.KeyboardButton('другое')
        markup.add(item1, item2, item3, item4)
        bot.send_message(message.chat.id, f'Привет, {message.from_user.first_name}!', reply_markup=markup)
    
    
    @bot.message_handler(content_types=['text'])
    def bot_message(message):
        if message.chat.type == 'private':
            if message.text == 'рандом':
                bot.send_message(message.chat.id, f'Ваше число {random.randint(0, 1000)}')
    
            elif message.text == 'курсы':
                markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
                item1 = types.KeyboardButton('доллар')
                item2 = types.KeyboardButton('евро')
                item3 = types.KeyboardButton('назад')
                markup.add(item1, item2, item3)
                bot.send_message(message.chat.id, 'курсы', reply_markup=markup)
    
            elif message.text == 'инфа':
                markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
                item1 = types.KeyboardButton('о боте')
                item2 = types.KeyboardButton('что в коробке')
                item3 = types.KeyboardButton('назад')
                markup.add(item1, item2, item3)
                bot.send_message(message.chat.id, 'инфа', reply_markup=markup)
    
            elif message.text == 'другое':
                markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
                item1 = types.KeyboardButton('настройка')
                item2 = types.KeyboardButton('подписка')
                item3 = types.KeyboardButton('стикер')
                item4 = types.KeyboardButton('назад')
                markup.add(item1, item2, item3, item4)
                bot.send_message(message.chat.id, 'инфа', reply_markup=markup)
    
            elif message.text == 'назад':
                markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
                item1 = types.KeyboardButton('рандом')
                item2 = types.KeyboardButton('курсы')
                item3 = types.KeyboardButton('инфа')
                item4 = types.KeyboardButton('другое')
                markup.add(item1, item2, item3, item4)
                bot.send_message(message.chat.id, f'Привет, {message.from_user.first_name}!', reply_markup=markup)
    
    
    bot.polling(none_stop=True)
    Ответ написан
    1 комментарий
  • Как с помощью Predicate использовать сортировку в масиве?

    @kpechenenko
    Никак.

    А зачем вам сортировать массив в данной задаче?

    Исходя из формулировки прикрепленного задания решение может выглядеть следующим образом:
    public class Main {
        private static int sumEven(int[] values, Predicate<Integer> test) {
            return Arrays.stream(values)
                    .filter(test::test)
                    .sum();
        }
    
        public static void main(String[] args) {
            int[] values = {1, 2, 3, 4, 5, 6, 7, 8};
            int sumOfEvenValues = Main.sumEven(values, x -> x % 2 == 0);
            System.out.println("Sum of even is " + sumOfEvenValues);
            List<String> strings = List.of(
                    "JUG",
                    "JPoint",
                    "PyConf",
                    "Joker"
            );
            Main.printJStr(strings, s -> s.startsWith("J"));
        }
    
        private static void printJStr(List<String> strings, Predicate<String> test) {
            strings.stream()
                    .filter(test)
                    .forEach(System.out::println);
        }
    }
    Ответ написан
    Комментировать