如何使这段代码包含函数,for和while循环运行良好?

时间:2012-03-22 15:22:21

标签: python python-2.7

我正在制作一个基于文本的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'在同一条线上,以及为什么它总共重复八次。

3 个答案:

答案 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循环之前将字符串分解为其参数。