Найти - Пользователи
Полная версия: Реверс кортежа
Начало » Python для новичков » Реверс кортежа
1 2
AleksandrM
Здравствуйте.
Не получается у меня вывести кортеж в обратном порядке.
Сама задача такая:
Напишите программу, в которой пользователь вводит целое число, а программа формирует кортеж, который состоит из цифр, входящих в это число. Предложите способы создания кортежа, при котором цифры, формирующие число, включаются в кортеж в прямом и обратном порядке.
AleksandrM
Вроде получилось, но не пойму откуда появляется запятая в самом начале во втором ряду.
 his = input('введите число: ')
hiss = tuple(his)
pre = int(''.join(map(str, hiss)))
k = []
for i in range(0, pre + 1):
    k.append(i)
    k.sort(reverse=True)
    print(f'{i}', end=',')
print(f'\n', *k, sep=',')
FishHook
 raw = input('Enter number')
res_tuple = tuple(int(i) for i in raw)
res_tuple_reverse = tuple(int(i) for i in raw[::-1])
print(res_tuple, res_tuple_reverse)
AleksandrM
Нужно чтобы при вводе пользователя целого числа, программа формировала кортеж, который состоит из цифр, входящих в это число. А потом эти числа вывести реверсом.
AleksandrM
Может так ?

 raw = input('Enter number: ')
res_tuple = tuple(int(i) for i in raw)
res_tuples = int(''.join(map(str, res_tuple)))
res_tupl = tuple(int(z) for z in range(0, res_tuples))
print(*res_tupl, sep=',')
res_tuple_reverse = tuple(int(i) for i in res_tupl[::-1])
print('\n', *res_tuple_reverse, sep=',')
FishHook
AleksandrM
Нужно чтобы при вводе пользователя целого числа, программа формировала кортеж, который состоит из цифр, входящих в это число. А потом эти числа вывести реверсом.
Моя программа именно это и делает. Вы её запускали?
xam1816
 num = int(input('введите число:'))
order = (input('введите порядок(1 -> прямой, 2 -> обратный):'))
if order == '1':
    my_tuple = tuple(range(num+1))
    print(','.join(map(str, my_tuple)))
elif order == '2':
    my_tuple = tuple(range(num,-1,-1))
    print(','.join(map(str, my_tuple)))
else:
    print('порядок не определен')

вывод
 введите число:12
введите порядок(1 -> прямой, 2 -> обратный):2
12,11,10,9,8,7,6,5,4,3,2,1,0
Process finished with exit code 0
FishHook
xam1816
…программа формировала кортеж, который состоит из цифр, входящих в это число

 my_tuple = tuple(range(num+1))

ну разве вы это сделали?
xam1816
FishHook
ну разве вы это сделали?
Ну да, понял что не то, сначала код автора запустил, он там выводит их как диапазон, а нужно из цифр этого числа
 num = input('введите число:')
order = (input('введите порядок(1 -> прямой, 2 -> обратный):'))
if order == '1':
    my_tuple = tuple(map(int,num))
    print(','.join(map(str, my_tuple)))
elif order == '2':
    my_tuple = tuple(map(int,num[::-1]))
    print(','.join(map(str, my_tuple)))
else:
    print('порядок не определен')

вывод

 введите число:54321
введите порядок(1 -> прямой, 2 -> обратный):2
1,2,3,4,5
Process finished with exit code 0
py.user.next
AleksandrM
Напишите программу, в которой пользователь вводит целое число, а программа формирует кортеж, который состоит из цифр, входящих в это число.
Тут есть загвоздка. Целое число принадлежит интервалу от -inf до +inf. Следовательно, оно может быть введено со знаком плюс и со знаком минус.

Так что старайся работать с числами как с числами, а не как со строками. Во первых, ты в них никогда не встретишь ведущих нулей (которые тоже цифры сами по себе) или трёх минусов и плюсов (которые тоже знаки числа сами по себе) слева, справа или в середине. Во-вторых, числа в питоне едят многократно меньше памяти, потому что строки в питоне - это такие массивы чисел, тогда как одно число в питоне - это одно число либо редко массив чисел (только если число очень большое и начинается длинная арифметика, что бывает редко в учебных задачах, да и в реальных задачах тоже). Заодно ты приобретёшь полезный навык раскладывания чисел на цифры. Любой дурак может обращать строки или выбирать что-то из них по одному элементу, так как создатель питона позаботился о том, чтобы со строками было удобно и просто работать (то есть это не дураки такие крутые, а это создатель просто упростил работу со строками по максимуму). Но в реальных задачах на числа (шифрование, хеширование, попиксельное преобразование изображений, передача данных по протоколам между устройствами) тебе придётся работать с числами не как со строками, а математически. И вот в эти моменты тебе очень пригодится навык разложения чисел на части, склеивания чисел из чисел и тому подобное. Ты будешь рад, что это всё протренировал раньше и тебе не приходится во время работы сидеть и искать информацию “а как же это сделать - разложить число на цифры, а то тут в этом ассемблере строк вообще нет и реверса для строк тем более”.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB