Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 28.03.2024
Сообщений: 68

Задача Цифра

24.04.2024, 21:16. Показов 3501. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите функцию get_kth_digit(x, k), которая принимает два числа
x и k, и возвращает k-ю слева цифру числа x. Если параметр k не задан, считайте, что нужно вернуть самую левую цифру (используйте аргумент по умолчанию).

На проверку нужно отправить только функцию get_kth_digit(x, k), которая принимает два числа и возвращает одно число. Цифры нумеруются с единицы. Если k-й цифры в числе не существует, верните −1. Гарантируется, что k>0.

Формат входных данных
Ничего считывать не нужно

Формат результата
И выводить тоже ничего не нужно

Нужно решить задачу используя тему Функции
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.04.2024, 21:16
Ответы с готовыми решениями:

Посчитать, сколько раз встречается определенная цифра(цифра – это от 0 до 9) в списке чисел
Посчитать, сколько раз встречается определенная цифра(цифра – это от 0 до 9) в списке чисел. Количество введенных чисел в список и искомая...

В последовательности найти количество трехзначных чисел, у которых первая цифра 3 и последняя цифра 5
Всем привет! Помогите написать программу: Напишите программу, которая в последовательности из 3-х целых чисел определяет...

Ввод двух значений, если одно не цифра-конкатенация, если цифра -сложение
Нужно написать программу, в которой запрашивается ввод двух чисел и если хотя бы одно из них не является числом , то произвести их...

29
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
28.04.2024, 22:14
Студворк — интернет-сервис помощи студентам
А если так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def get_kth_digit(n, k=1):
    le = 1
    if n:
        while n//10**le:
            le *= 2
        R = le
        L = le//2
        while L <= R:
            le = (L+R)//2
            if n//10**le == 0 and n//10**(le-1) > 0:
                break
            else:
                if n//10**le == 0 and n//10**(le-1) == 0:
                    R = le-1
                else:
                    L = le+1
    if k > le:
        return -1
    else:
        return n//10**(le-k)%10
0
0 / 0 / 0
Регистрация: 28.03.2024
Сообщений: 68
28.04.2024, 22:26  [ТС]
Программа выполнет работу больше 1 секунды реального времени
0
964 / 485 / 241
Регистрация: 02.06.2016
Сообщений: 760
28.04.2024, 22:55
oxwaze, зачем Вы переписываете задачи из курса подряд на форум, учителя заставляют на оценку? там ведь есть канал с вопросами
Python
1
2
3
def get_kth_digit(x, k = 1):
    d = [*filter(str.isdigit, str(x))]
    return int(d[k-1]) if k <= len(d) else -1
0
0 / 0 / 0
Регистрация: 28.03.2024
Сообщений: 68
29.04.2024, 08:06  [ТС]
Aael, ваш код выводит ошибку выполнения
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
29.04.2024, 10:22
Цитата Сообщение от thyrex Посмотреть сообщение
Python
1
2
3
4
5
...
    while t:
        n += 1
        t //= 10
...
А если посчитать длину в виде строки? Для проверки адекватности теста...
если уж так:
Цитата Сообщение от oxwaze Посмотреть сообщение
код верный, но программа выпоняет работу больше чем 1 секунда.
типа:
Python
1
2
3
4
5
def get_kth_digit(x, k=1):
    n = len(str(x))
    if k > n:
        return -1
    return x//10**(n-k)%10
?
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
29.04.2024, 10:49
Я пробовал делать подобное при сдаче на Тиньков Образование (зарегистрировался специально). Не проходит уже 6-й тест. Там можно обращаться в телегу к преподавателям с вопросами, но я этого делать точно не буду.
0
0 / 0 / 0
Регистрация: 31.05.2022
Сообщений: 4
29.04.2024, 13:49
Python
1
2
3
4
5
6
7
8
9
x = input("Enter a number: ")
y = int(input("Enter a number: "))
 
def get_kth_digit(x,y):
    x = str(x)
    y = int(y)
    pousk_chisko = x[-y]
    return pousk_chisko
print(get_kth_digit(x,y))
Надеюсь правильно понял задачу
0
207 / 5 / 2
Регистрация: 27.04.2024
Сообщений: 72
01.05.2024, 23:11
Лучший ответ Сообщение было отмечено oxwaze как решение

Решение

Python
1
2
3
4
5
6
7
8
9
def get_kth_digit(n, k=1):
    if n == 0:
        return 0 if k == 1 else -1
    
    num_str = str(abs(n)) 
    if 1 <= k <= len(num_str):
        return int(num_str[k-1])
    else:
        return -1
1
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
03.05.2024, 13:15
Цитата Сообщение от utsushi Посмотреть сообщение
Сообщение было отмечено oxwaze как решение
Цитата Сообщение от utsushi Посмотреть сообщение
abs(n)

слона-то никто и не приметил...
нигде не сказано, что число должно быть положительным...


thyrex,
Python
1
2
3
4
5
def get_kth_digit(x, k=1):
    n = len(str(abs(x)))
    if k > n:
        return -1
    return abs(x)//10**(n-k)%10
1
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
04.05.2024, 02:06
Такой вариант тоже теперь заходит
Python
1
2
3
4
5
6
7
8
9
10
11
12
def get_kth_digit(x, k = 1):
    n = 0
    x = t = abs(x)
    if t:
        while t:
            n += 1
            t //= 10
    else:
        n = 1
    if k > n:
        return -1
    return x//10**(n-k)%10
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2024, 02:06
Помогаю со студенческими работами здесь

Дано трехзначное число. Определить: а) входит ли в него цифра 6; б) входит ли в него цифра n
:cry:

. Дана строка, изображающая арифметическое выражение вида «<цифра>±<цифра>±…±<цифра>», где на месте знака операции «±» н
Дана строка, изображающая арифметическое выражение вида «&lt;цифра&gt;±&lt;цифра&gt;±…±&lt;цифра&gt;», где на месте знака операции «±» находится...

Cтрока: Вывести значение арифметическое выражение вида «<цифра>±<цифра>±…±<цифра>»...
Дана строка, изображающая арифметическое выражение вида «&lt;цифра&gt;±&lt;цифра&gt;±…±&lt;цифра&gt;», где на месте знака операции «±» находится...

Дана строка <цифра>+<цифра>-.+<цифра> посчитать сколько получиться
дана строка &lt;цифра&gt;+&lt;цифра&gt;-....+&lt;цифра&gt; посчитать сколько получиться

Проверить правильность выражения, заданного в виде строки S <выражение> ::= <цифра> | <выражение> + <цифра> | <выражение> – <цифра> Если выражение с
Проверить правильность выражения, заданного в виде строки S &lt;выражение&gt; ::= &lt;цифра&gt; | &lt;выражение&gt; + &lt;цифра&gt; |...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru