Python 3中的数据

2024-09-29 20:33:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我的作业有问题,我不能把我的头绕在这上面。我用的是python3。你知道吗

我有个档案(数字.txt)像这样:

1143
007
334
723
888
5234

我想得到这样的输出:

From file numbers.txt were read 6 numbers.
Autonumbers:
  007
  334
  723
  888
Minimal autonumber is 007.
To file cars.txt was saved 4 auto numbers.

到目前为止,我有:

def nmb(fileName):
    numbers = []
    autonumbers = []


    f = open(fileName)
    for line in f: 
        nrs = rida.strip().split(' ')
        numbers.append(nrs[0])
        if len(autonumbers) == 3:
            autonumbers.append(nrs1[0])
            print(autonumbers)



def save(data, autonumbers):

    fileName = "cars.txt"
    f = open(failinimi,"w")
    for numbers in data:
        if len(data) == 3:
            f.write(nimi + "\n")
    f.close

Tags: intxtfordatalenifdefopen
3条回答
with open("numbers.txt") as f:
   sorted_values = sorted([line for line f if len(line.strip()) == 3],key=int)
#file is now correctly closed ...
min_val = sorted_values[0]

也许???你知道吗

老实说,我不知道你想做什么

提供numbers.txt文件后,请尝试:

with open('numbers.txt') as inf:
    numbers = inf.readlines() # this is ugly if the file is big, but....

autonumbers = [number for number in numbers if len(number==3)]
print("From file numbers.txt were read {} numbers.".format(len(numbers)))
print("Autonumbers:")
for number in autonumbers:
    print("{:>7}".format(number))
print("Minimal autonumber is {}".format(min(map(int,autonumbers))))

with open("cars.txt", "a") as outf:
    outf.write("\n".join(autonumbers))

print("To file cars.txt was saved {} auto numbers.".format(len(autonumbers)))

从头开始重写,但这应该完全按照要求工作。不过,这比罪还难看。你为什么要这么做,你真正想做的是什么?这有点臭。你知道吗

一个明显的错误是:

for numbers in data:           # should be for data in numbers:
    if len(data) == 3:         
        f.write(nimi + "\n")   # what is nimi? It isn't defined anywhere...

但是还有其他一些(有些变量被使用但从未定义,有些变量被定义但从未使用,缩进不正常,函数不返回任何东西,文件没有正确关闭)。。。你知道吗

相关问题 更多 >

    热门问题