这是我到目前为止编写的代码。 该函数将单个字符和一组规则作为列表。
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
看起来它不起作用。用户如何通过终端输入列表规则?
答案 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
不是就地操作。在这个例子中,我还没有将结果分配给任何东西,但如果你想将列表存储在另一个变量中,你应该这样做。