2016-10-16 6 views
-4

Я знаю, что это очень просто, но я не могу понять, как кодировать вообще. Поэтому мне нужно создать две функции (если вы можете только помочь мне с одной, что это нормально):ДЕЙСТВИТЕЛЬНО простые функции с кортежами (python)

Функция A, которая принимает положительное целое число и преобразует его в кортеж, например:

>>>a(34500) 
(3, 4, 5, 0, 0) 
>>>a(3.5) 
ValueError: a: error 

и функции б, который принимает кортеж и преобразует его в целое число, например: (? для сообщения об ошибке)

>>>b((3, 4, 0, 0, 4)) 
34004 
>>>b((2, ’a’, 5)) 
ValueError: b: error 

Я не узнал много еще, только функции, в то время как и для циклов, кортежи, поднять и isinstance , и, возможно, некоторые другие вещи. Я пробовал искать ответы, но все они использовали вещи, которые я не узнал.

+1

Преобразовать в строку и переконвертировать в Интс – sisanared

+1

Мы должны увидеть код для функции Ь, чтобы помочь вам. Сейчас похоже, что он принимает только целые числа, и вы пытаетесь ввести строку, вызывающую ошибку. – Whud

+0

@Whud Ни одна из функций не существует. OP ожидает, что мы напишем для него. – DeepSpace

ответ

0

Комментарии уже заявляют, что вы можете сделать: Преобразовать Int к Силе, делая (я знаю, что это не работает для поплавков, здесь вы можете показать некоторые дополнительные усилия :))

for c in str(integerVariable): 
    print c 

Другой путь вокруг еще более прост.

''.join(tupleVariable) 
0

Попробуйте

def a(n): 
result = [] 

while n > 0: 
    result.append(n%10) 
    n=n//10 

return tuple(reversed(result)) 

на вопрос 2, попробуйте сделать то же самое в обратном, т.е. умножив каждое число на 1, 10, 100 и добавление их.

также не забудьте проверить код ошибки.

1
def to_tuple(input_number): 
    # check if input number is int or not 
    if isinstance(input_number,(int)): 
     # convert number to string 
     to_string = str(input_number) 
     # finally convert string to 
     # list of numbers followed by converting the list to tuple 
     tuple_output = tuple(map(int,to_string)) 
     return tuple_output 
    # if not int return empty tuple 
    # well coz nobody likes useful but ugly python tracebacks 
    else: 
     return() 

# lets see example 
number = 3450 
print to_tuple(number) 
(3, 4, 5, 0) 

number = 353984 
print to_tuple(number) 
(3, 5, 3, 9, 8, 4) 

number = 2.6 
print to_tuple(number) 
() 

Если вам нравится этот пример я бы разместить ответ на вторую часть

+0

благодарит за вашу помощь. Я знаю, что он старый и именно то, что я искал. –

Смежные вопросы