2014-09-22 5 views
0

Итак, я пытаюсь создать программу, которая читает текстовый файл и выводит строки и целые числа в некоторых сортировках.Как отсортировать целые числа и строки из текстового файла?

Я хотел бы распечатать, в какой строке строки были, а также создавать списки со всеми целыми числами в текстовом файле. (Для дальнейшего использования целых чисел для поиска min, max, median и т. Д.)

Ive пробовал и застрял совершенно к несчастью.

def readfile(file): 
    try: 
     f = open(file, 'r') 
     fil = f.readlines() 
     f.close() 
     return fil 
    except IOError: 
     print('fil finns inte') 
     return None 

def rader(rowlist): 
    k=rowlist 
    l=[] 
    try: 
     for i in k: 
      l.append(int(i.strip())) 
      return l 
    except: 
     print("sds") 

Так что этот код obviosuly не закончен, а также в настоящее время запущен с доктриной. Я застрял в той части, где я хочу сортировать целые числа в списке и строки для распечатки togeather с номером строки.

Так что я бы хотел, чтобы цикл, который проходит через список документов, когда он попадает в целое число, добавляет его в список и когда он попадает в строку, остановитесь, только для исключения или что-то в этом роде , и напечатайте строку outgege с номером строки (i).

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

С уважением, неудобный студент.

ответ

0

Пожалуйста, смотрите пример:

def get_integer_or_none(text): 
    ''' 
    Returns integer from text or None if text is not an integer. 
    ''' 
    try: 
     return int(text) 
    except ValueError: 
     return None 

for text in ('1', 'some text', '2 not an integer', '-1000'): 
    integer_value = get_integer_or_none(text) 
    if integer_value is not None: 
     print('This text "{}" is an integer ({})'.format(text, integer_value)) 
    else: 
     print('This text "{}" is not an integer'.format(text)) 
+0

Спасибо, хотя я не очень понимаю вторую часть. Не могли бы вы уточнить? – Karl

+0

Вторая часть - всего лишь пример для 4 строк: '1', 'some text', '2 not integer', '-1000'. Он использует функцию get_interger_or_none() для каждой строки и печатает, если результат является целым числом. – jms

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