Форум сайта python.su
0
Здравствуйте! Как, используя циклы,целочисленные переменные, удалить 3 число,из n =int(input())
то есть:
Пользователь вводит 12345
А вывод будет 1245
Заранее благодарю !
То есть такой код на паскале
var
a, b: longint;
n, m: byte;
begin
readln(a);
readln(n);
b := 0;
while a > 0 do begin
m := a mod 10;
if m <> n then
b := b * 10 + m;
a := a div 10;
end;
while b > 0 do begin
a := a * 10 + b mod 10;
b := b div 10;
end;
writeln(a);
end
Отредактировано Alexanderrrrrror (Март 11, 2020 15:20:58)
Офлайн
27
Можно без цикла: преобразовать в строку, сделать конкатенацию срезов 0:2 и 3:, снова преобразовать в целочисленное значение.
Офлайн
294
Rafikа зачем чтото преобразовывать? ведь
преобразовать в строку, сделать конкатенацию срезов 0:2 и 3:, снова преобразовать в целочисленное значение.
Alexanderrrrrrorследовательно на входе и так строка.
Пользователь вводит 12345
[code python][/code]
Офлайн
27
AlexanderrrrrrorПреобразует ввод в число. Если убрать int, то можно напрямую брать срезы.
удалить 3 число,из n =int(input())
Офлайн
0
RafikФишка в том, что сделать это надо без использование слайсов и вообще строк как таковых
Офлайн
568
Alexanderrrrrror
s = int('12345'.replace('3', '')) print(s)
Офлайн
27
Ничего сложного нет. Вот приблизительный алгоритм:
1. присвоить входное значение некоему х. Далее модифицируем переменную х.
2. для модификации используем цикл while с условием x > int(“9”*позиция_удаляемого-1). До цикла объявляем счётчик = 0
3. внутри цикла делаем целочисленное деление х на 10 и наращиваем счётчик.
4. по завершении цикла получаем первые цифры, которые надо оставить. Умножаем их на 10 в степени (счётчик-1)
5. получаем остаток от деления входного значения, не х, а именно входного значения, на 10 в степени (счётчик-1)
print(результат_п4 + результат_п5)
Код будет состоять буквально из 7-8 строк.
Офлайн
253
AlexanderrrrrrorНасмешили. input выдает строку. С такими условиями вы ничего не введете.
без использование слайсов и вообще строк как таковых
Офлайн
27
doza_and, в условии задачи input обёрнут в int. На входе целочисленное значение. Насколько я понимаю, предлагается работать именно с этим, полученным, int.
Офлайн
253
Формальное требование чтобы строк не было вообще. В питоне можно всю программу в функциональном стиле сделать не используя переменные. То что нет идентификаторов привязанных к строкам не означает что нет работы со строками.
В данном случае вы вообще не то обсуждаете. Читаем:
AlexanderrrrrrorУ input не бывает трех чисел на выходе. Условия задачи неправильные. Решение задачи по удалению ТРЕТЬЕГО ЧИСЛА невозможно, его там нет. Точка. Автор условия задачи не понимает разницы между понятиями строка, число, цифра.
Как, используя циклы,целочисленные переменные, удалить 3 число,из n =int(input())
Офлайн