我正在制作一个基于文本的RPG,但我输入时遇到了麻烦。我很难做一个函数,它应该将一个带有关键字和项目的字符串中的两个参数分开(例如:使用item,take item ...)但是,出于某种原因,它会不断重复结束。
我的代码:
def console(input):
x = 0
y = 0
z = 0
argument1 = ""
argument2 = ""
for x in input:
if input != " " and y != 1:
argument1 += input
elif y != 1:
y = 1
else:
argument2 += input
print argument1
print argument2
console("use item")
运行代码时收到的输出是:use itemuse itemuse itemuse itemuse itemuse itemuse itemuse item
我不知道为什么'use'和'item'在同一条线上,以及为什么它总共重复八次。
答案 0 :(得分:3)
split()
字符串方法已经完成了您要执行的操作:
>>> arg1, arg2 = 'use some item'.split(' ', 1)
>>> arg1
'use'
>>> arg2
'some item'
答案 1 :(得分:1)
你做
for x in input:
因此,如果输入是“使用项目”,您将循环8次(u,s,e,i,t,e,m [尝试打印x]) 然后使用
向参数添加输入argument1 += input
所以你向参数添加了8次输入。 为什么将它们加在一起是因为你最后没有'\ n'。
答案 2 :(得分:-1)
重复8次,因为你传了8个字符。我建议在进入for循环之前将字符串分解为其参数。