2014-09-22 67 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

相关问题