将文件中的整数转换为(x,y,z)格式(Python)

时间:2013-12-06 00:23:45

标签: python file-io

所以我真的需要帮助。我不确定的问题是创建一个名为smallest()的函数来打开一个名为datanums.txt的文件,并使每一行只显示最小的数字。

Datanums.txt文件:

6,3,5
4,4,8
3,7,2
1,8,9
9,0,6

它应该显示什么:

3
4
2
1
0 

问题是我需要将txt文件的行格式化为(x,y,z)。有人可以帮忙吗?

我的问题是: 我如何定义x,y,z ???

我的代码:

def smallest(x, y, z):

    with open('datanums.txt','r') as a:
        a.split().format(x, y, z)
        smallestNumber = sorted((x, y, z))[0]

        return smallestNumber

print smallest(x, y, z)

3 个答案:

答案 0 :(得分:5)

由于这是一项作业,我不应该给你一个完整的答案,你可以复制和粘贴。所以,请注意以下几点:

  • 您的代码是一个良好的开端,但显然需要功能
  • 打开文件后,需要逐行读取行(提示,提示)。
  • 然后您需要将该行转换为列表,例如,使用split(',')
  • 修剪并解析每个条目
  • 找到min()
  • print每个结果数字。

答案 1 :(得分:1)

我建议你把它分解成更小的任务:

  1. 从文件中读取一行。
  2. 将文本行解析为3个数字。
  3. 找出3个数字中最小的数字。
  4. 打印结果。
  5. 制作一个循环,重复步骤1-4到文件。
  6. 您知道如何做以下哪些步骤?您需要哪些步骤帮助?对于以后的问题,请回答更多问题。

答案 2 :(得分:0)

你的任务的有趣部分是找到最小值。

以下是数据采集步骤的帮助:

with open('datanums.txt','r') as f:
    for line in f:
        x, y, z = f.rstrip().split(',')
        x = int(x)
        y = int(y)
        z = int(z)
        ...