所以我目前正在使用python来创建一个AI机器人,我想要的是让用户输入类似“我的名字是布莱恩”的东西,然后我想设置输入的最后一个字(“布莱恩” )作为变量供以后使用。但与此同时,我希望代码能够识别出他们正在说出自己的名字,到目前为止我已经掌握了一些。任何帮助将不胜感激。 这是本节的代码
if "My name is" or "my name is" in inp:
name =
print("Hello", name)
(“inp”输入btw)
答案 0 :(得分:0)
if "My name is" in inp or "my name is" in inp:
#or better, if "my name is" in lower(inp):
name = inp.split(' ')[-1]
#or, name = inp[11:] since "my name is " is 11 characters
print("Hello", name)
答案 1 :(得分:0)
好的,所以让我们说你已经设法提取了这个名字,并且它已经布莱恩了。如何使它成为变量:
name = 'Bryan' # Let's say the name is Bryan
statement = name + ' = "user"' # returns 'Bryan = "user"'
exec(statement) # Runs the statement as if it was code
现在Bryan == 'user'
。 (或您希望提供的任何其他价值......)
正如下面的@skrx评论,此解决方案允许用户使用 输入恶意代码。也许你应该考虑一下 你真的需要它:你每次都必须使用exec() 你想访问变量Bryan。要做到这一点你 必须在某处存储name变量的值 同样。为什么不把它存放在一个dict中,允许 更容易处理,例如
user_dict[name] = 'user' # {'Bryan': 'user'}
还是我误解了你想要完成的事情?