'if'语句下的多个任务

问题描述:

为什么我不能在python下的if语句下进行多个任务?是否有一些我缺少的语法?'if'语句下的多个任务

我想这样做:

files = ["file1", "file2", "file3"] 

print "\nThe following files are available: \n" 

i = 0 
for file in files: 
    i = i + 1 
    print i, file 

choice = int(raw_input("\Enter a file number: ")) 

if choice ==1: 
    file = np.genfromtxt(files[0], usecols = (1,2,3), dtype = (float), delimiter = '\t') 
    time = np.genfromtxt(files[0], usecols = (0), dtype = (str), delimiter = '\t') 

print time 

时间在我的if语句外定义,所以它不会改变,因为选择的变化...什么赫克?

+2

'time'是在Python,因为它一个贫穷的变量名阴影'时间'模块... – ChristopheD 2010-07-20 16:11:53

+0

你的输入和输出是什么? – 2010-07-20 16:12:20

+0

其实就是提供一个例子的手段,但是谢谢提醒。 – lollygagger 2010-07-20 16:13:16

变量文件和时间必须在比if语句更高的块级别定义。

要小心“时间”,因为它是一个python模块的名称。你应该使用这个名字的变体(例如time_)。

您没有使用任何其他选择,除了1,如果选择不是1它会给错误,你的代码应该是这样的

choice = int(raw_input("\Enter a file number: ")) 
choice -= 1 # array index is from 0 

if choice < 0 or > 2: 
    print "Enter correct choice" 
    sys.exit() 

file = np.genfromtxt(files[choice], usecols = (1,2,3), dtype = (float), delimiter = '\t') 
time = np.genfromtxt(files[choice], usecols = (0), dtype = (str), delimiter = '\t') 
+0

好的,那只是代码的一部分......我只是想知道为什么我不能在if语句下分配多个变量...... – lollygagger 2010-07-20 16:14:24