通过用户输入接受规则列表

时间:2017-10-24 06:18:13

标签: python string list

这是我到目前为止编写的代码。 该函数将单个字符和一组规则作为列表。

def applyRules(char, rules):
    ... # some code here
    return result

char = input("What characther do you want to put?")
rules = input("Put your rule")

我希望用户输入一些空格分隔的规则,我将其转换为规则列表并传递给我的函数。这就是我的尝试。

inst = applyRules(char, [rules])
print(inst)

例如,当我通过终端运行时,这是我输入的方式:

"What characther do you want to put?" a
"Put your rule" a:b b:c

看起来它不起作用。用户如何通过终端输入列表规则?

1 个答案:

答案 0 :(得分:4)

  

该函数将单个字符和一组规则作为列表。

你应该明白[...]会创建一个单独的元素列表,我相信(基于你的上一个问题),它不是你想要的。

您正在寻找str.split

In [1429]: rules = input("Input your rules: ")
      ...: 
Input your rules: a:b b:c c:d

In [1430]: rules.split()
Out[1430]: ['a:b', 'b:c', 'c:d']

将此列表传递给applyRules

另外,只是旁注(因为您是初学者),str.split 不是就地操作。在这个例子中,我还没有将结果分配给任何东西,但如果你想将列表存储在另一个变量中,你应该这样做。