如何从我们输入的数字中创建多个变量

2024-04-25 11:49:18 发布

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

我正在创建一个脚本,询问用户需要比较多少数据集。你知道吗

用户输入一个数字,我想知道是否有一种方法,使用循环,为用户输入的数字创建许多变量。你知道吗

input_SetNum = input("How many data sets are you comparing: ")
print ("You entered " + input_SetNum) 

data_sets = {}
for i in range(1, input_SetNum+1):
data_sets[i] = input("Please enter the file path a data set: ")

Tags: 数据方法用户脚本youinputdatasets
3条回答

可以使用在工作区中定义变量

for i in input_SetNum:
    vars()["var%s=value" % (i)] = value

从长远来看,你可能想把它放在一个类中,这个类的变量由

class SomeObj:
    def __init__(self, input_SetNum, values):
        for i in input_SetNum:
            vars(self)["var%s=value" % (i)] = values[i]

只需使用一个列表-每个数字都有一个元素。你知道吗

你可以用字典。你知道吗

data_sets = {}
for i in range(1, input_SetNum+1):
    data_sets[i] = # data set value here

编辑:

如果您使用的是Python 3,那么完整的代码应该是:

input_SetNum = input("How many data sets are you comparing: ")
print ("You entered " + input_SetNum) 

data_sets = {}
for i in range(1, int(input_SetNum)+1):
    data_sets[i] = input("Please enter the file path a data set: ")

print(data_sets)

当输入3时,打印data_sets将产生此结果:

{1: '/path/file1', 2: '/path/file2', 3: '/path/file3'}

如果您使用的是python2.7,那么应该用raw_input替换所有的input()


编辑2:

要根据CSV文件的路径打开它们,您可以在已经完成的操作下面使用这样的代码。你知道吗

for key in data_sets:
    with open(data_sets[key]) as current_file:
        # do stuff here

也可以改为在文件路径之前使用的input()上使用open()。你知道吗

data_sets[i] = open(input("Please enter the file path a data set: "))

我不是100%确定这是否会工作,因为我不是很熟悉的CSV文件,但它不会伤害,如果它真的工作,它将更容易比较数据集。你知道吗

相关问题 更多 >