需要一些帮助:Python字符串和变量

时间:2018-05-07 20:22:06

标签: python

所以我目前正在使用python来创建一个AI机器人,我想要的是让用户输入类似“我的名字是布莱恩”的东西,然后我想设置输入的最后一个字(“布莱恩” )作为变量供以后使用。但与此同时,我希望代码能够识别出他们正在说出自己的名字,到目前为止我已经掌握了一些。任何帮助将不胜感激。 这是本节的代码

if "My name is" or "my name is" in inp:
    name =
    print("Hello", name)

(“inp”输入btw)

2 个答案:

答案 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'}

还是我误解了你想要完成的事情?