2015-05-05 217 views
0

我需要帮助解决我的任务问题,我不要求任何人完成整个任务的编码。我只想为我的当前代码无法正常工作提供一些意见。我是Python的新手,进入我的课程大约两个月。我当前的代码如下:需要显示括号和逗号删除列表

import random 
values =[0, 0, 0, 0, 0, 0, 0] 
COLS = 7 

def main(): 
    for c in range(COLS): 
     values[c] = random.randint(19, 81)   
    outfile = open('nums.txt', 'w') 
    outfile.write(str(values)) 
    outfile.close 


    infile=open('nums.txt', 'r') 
    numbers = infile.readlines() 
    index = 0 

    while index>len(numbers): 
     numbers[index]=int(numbers[index]) 
     index += 1 

    print(numbers) 

main() 

当代码应该输出从列表中的数字,只打印[](空括号)。我需要它在一行中显示没有括号或逗号的7个数字的列表。

这是任务,如果有帮助: 在主要功能:

创建一个名为NUMS空列表。
使用循环(您自己选择的类型)将七个整数(每个整数在20到80之间)添加到nums。重复是可以的。
使用第二个循环将一个行中的七个整数全部显示在一个空格中。这第二个循环必须是一个while循环。
显示列表中最大的整数。
显示列表中的最小整数。
调用一个名为process的无用函数,该函数将nums制作的切片作为参数。这个片段应该缺少num的第一个和最后一个元素。

在处理功能:

显示切片中的元素的所有上由一个单一的空间分离和分类在最高到最低的顺序一行。
您必须在进程中使用for循环。这些元素不应该在[]内以逗号分隔显示。

Example Output 
79 30 39 33 41 43 53 
The highest number is 79 
The lowest number is 30 
The middle 5 sorted high to low: 
43 41 39 33 30 

正如我之前所说,我没有要求任何人为我完成任务,我只想帮助修复我的代码到这一点。当我遇到路障时,我已经通过这个网站多次阅读,但无法找出这个问题。

+0

为什么文件操作,请问?我没有看到任何读写文件的要求。 – skyline75489

+0

“需要显示带括号和逗号的列表”['str.join()'](https://docs.python.org/3.4/library/stdtypes.html#str.join) –

+0

文件操作是粗心的错误。我上周与这项任务混淆了。 – Kazrasuya

回答

0

您的循环条件是错误的:

while index>len(numbers): 

应该是:

while index<len(numbers): 

打印的清单,你可以使用str.join()函数:

print ' '.join(numbers) 
+0

我其实原来的文字是“while index Kazrasuya

0

第一,我不知道你为什么需要将数据写入文件,但是你做错了。你犯了一个粗心的错误,没有正确关闭文件。您应该使用:

outfile.close() 

接下来,你正在写的阵列的蟒蛇EXPR到文件,这是一种错误的,太。我认为这是更好地做到这一点:

for v in values: 
    outfile.write(str(v) + '\n') 
outfile.close() 

而且在读取文件,就像yurib建议,你应该使用:

while index<len(numbers): 
    numbers[index]=int(numbers[index]) 
    index += 1 

再说一遍,我不知道为什么文件操作。但现在它终于起作用了

+0

文件操作是上周与此作业混淆的粗心错误。我最终编写了这个程序,它完全运作。这是新的计划: – Kazrasuya