为了账号安全,请及时绑定邮箱和手机立即绑定

命令行交互的字符串比较失败

命令行交互的字符串比较失败

四季花海 2022-07-19 16:53:29
我一直在尝试构建一个函数来解释命令行输入,然后使用提供的参数从脚本文件中运行适当的函数。此函数中包含一个用于关闭交互层的转义命令。仅当用户输入“退出”或“结束”时,才应激活此转义命令。但是,由于某种原因,无论输入什么都会触发。我难住了。你们有什么想法吗?verinfo ()x = Truewhile x is True:    print ('Please seperate arguments with a comma.')    inputstring = input('->')    #format input string to a standard configuration    #expected is command,arg1,arg2,arg3,arg4,arg5    procstring = inputstring.split (',')    while len(procstring) < 6:        procstring.append('')        print (procstring)    #escape clause    print (procstring[0])    if procstring[0] is 'end' or 'exit':        print ('Closing')        x = False        break    elif procstring[0] is 'help' or 'Help':        Help ()    else:        print ('command invalid. List of commands can be accessed with "help"')
查看完整描述

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

所以这里有两个不同的概念,一个是身份,另一个是平等。

因此,关键字is不是测试相等性,而是测试身份。意思是……这两个对象是一样的吗?看看id()

我认为您可以查看很多试图解释 和 之间区别的==页面is


查看完整回答
反对 回复 2022-07-19
?
GCT1015

TA贡献1827条经验 获得超4个赞

您应该使用==运算符进行此类比较,例如:

if procstring[0] == 'end' or procstring[0] == 'exit':
    print(...)


查看完整回答
反对 回复 2022-07-19
  • 2 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信