2014-09-22 66 views
0

所以我試圖創建一個程序,它讀取一個文本文件並輸出字符串和整數在一些分類。如何從文本文件中整理出整數和字符串?

我想打印出字符串在哪一行,還用文本文件中的所有整數創建列表。 (爲了進一步使用整數來找到最小值,最大值,中位數等)

我試過並完全不幸地卡住了。

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") 

所以這段代碼顯然還沒有完成,目前也是用doctest運行的。我卡在我想整理到列表的部分和字符串打印出行號與行號。

所以我想要一個遍歷文檔列表的循環,當它遇到一個整數時,將它追加到列表中,並且當它碰到一個字符串時,停止,僅針對除此之外的情況或類似的情況,然後用行(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 2014-09-23 07:03:08

+0

第二部分只是4個字符串的示例:'1','一些文本','2不是整數','-1000'。它爲每個字符串使用函數get_interger_or_none(),並在結果是整數時打印。 – jms 2014-09-23 13:11:17

相關問題