Python中的多个字符串输入



我有以下最小代码,我想通过读取用户指定的数据文件来制作绘图。在图中,我希望用户还指定 x y 标签。

# ReadFileAndPlot.py
import numpy as np
import pylab as pl
# Use numpy to load the data contained in the file
datafile=raw_input('Enter data filenamen')
print 'Data filename :',datafile
x,y=map(string,raw_input('Enter x and y axis labelsn').split())
#x='Current'; y='Voltage'
data = np.loadtxt(datafile)
# plot the first column as x, and second column as y
pl.plot(data[:,0], data[:,1], 'ro')
pl.xlabel(x)
pl.ylabel(y)
pl.xlim(0.0, 10.)
pl.show()

然而,字符串在使用split将其馈送为多个输入时未识别。因此,我收到消息:NameError: name 'string' is not defined [虽然可以使用int变量]。

有什么方法可以使用split或类似的方法来纠正此问题?

您不需要使用地图。只需将元组分开并分配给X和Y即可。但是它将无法确保用户给出有效的输入(平均两个单词(。如果有两个以上的单词会破裂。

while True:
    try:
        x, y = raw_input('Enter x and y axis labelsn').split()
        break
    except ValueError:
        print('Invalid input.')

使用str代替字符串:

x,y=map(str, raw_input('Enter x and y axis labelsn').split())

相关内容

  • 没有找到相关文章

最新更新