Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 18, 2015 10:06:33

skripka696
Зарегистрирован: 2015-04-10
Сообщения: 42
Репутация: +  1  -
Профиль   Отправить e-mail  

сортировка

Здравствуйте, подскажите пожввлуйста
мне нужно нав чистом питоне написать программку которая будт принимать список строк введенных в консоль
это будут или слова или числа,
и мне нужно чтоб они сохраняли свой тип
я пишу data = raw_input('Input: ') но тогда у всех тип str
если input то принимает одно число и все
как мне сделать так чтоб оно воспринимало и str и int

Офлайн

#2 Авг. 18, 2015 10:08:40

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

сортировка

Видимо, нужно проверить тип. Самый очевидный способ, попробовать привести строку к числу, если получилось - оставляем число, если не получилось строку.
Вам помогут:
int
try
ecxept



Офлайн

#3 Авг. 18, 2015 10:19:05

skripka696
Зарегистрирован: 2015-04-10
Сообщения: 42
Репутация: +  1  -
Профиль   Отправить e-mail  

сортировка

FishHook
мне нужно чтоб я и то и то могла в одой строке вводить
и чтоб он ее сортировал вот так с сохранением позиций, то есть мне нужно как то проверять и отдельно список для int делать и отдельно для str а потом в зависимости от исходного как то вытягивать то что нужно

Input:

car truck 8 4 bus 6 1

Output:

bus car 1 4 truck 6 8

Офлайн

#4 Авг. 18, 2015 10:24:35

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

сортировка

Я ж вам написал как проверять, чего вы конкретно не поняли?



Офлайн

#5 Авг. 18, 2015 11:29:16

skripka696
Зарегистрирован: 2015-04-10
Сообщения: 42
Репутация: +  1  -
Профиль   Отправить e-mail  

сортировка

FishHook
а подскажите пожалуйста еще
у меня теперь есть отсортированный список их чисел и отдельно из строк

Input: 3 w 1 a

['1', '3']
['a', 'w']


и есть словарь
 [('3', 'int'), ('w', 'str'), ('1', 'int'), ('a', 'str')]

и я хотела идти по словарю и смотреть если первое значение int то я беру из чисел если str то из строк
но что у меня не выходит
мысль что только вложенные массивы но и так оно не получается
final = []
    for k, v in first.iteritems():
        for i in my_int:
            for s in my_str:
                if v == 'int':
                    final.append(i)
                else:
                    final.append(s)    
    print final 

Отредактировано skripka696 (Авг. 18, 2015 11:29:52)

Офлайн

#6 Авг. 18, 2015 11:55:22

skripka696
Зарегистрирован: 2015-04-10
Сообщения: 42
Репутация: +  1  -
Профиль   Отправить e-mail  

сортировка

FishHook
я сделала вот так

final = []
    n = 0
    m = 0
    for k, v in first.iteritems():
        if v == 'int':
            final.append(my_int[n])
            n +=1
        else:
            final.append(my_str[m])
            m +=1      
      
    print 'Output'     
    print final     
не знаю на сколько это самый оптимальный способ

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version