Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用;或;或;或类似于;使用Python 3.6的语句_Python_Python 3.x - Fatal编程技术网

使用;或;或;或类似于;使用Python 3.6的语句

使用;或;或;或类似于;使用Python 3.6的语句,python,python-3.x,Python,Python 3.x,在进行修补时,我发现了上一期/当前期的问题: 使用时: saveKey = gwdzd10q saveKeyp = False while [saveKeyp == True,str(saveKey(2)) == 'k']: 我得到: while [saveKeyp == True,str(saveKey(2)) == 'k']: TypeError: 'str' object is not callable` 为什么会这样?我该如何修复它?这是因为我试图做一个或陈述的方式吗?还是什么 不

在进行修补时,我发现了上一期/当前期的问题: 使用时:

saveKey = gwdzd10q
saveKeyp = False

while [saveKeyp == True,str(saveKey(2)) == 'k']:
我得到:

while [saveKeyp == True,str(saveKey(2)) == 'k']:
TypeError: 'str' object is not callable`
为什么会这样?我该如何修复它?这是因为我试图做一个或陈述的方式吗?还是什么

不要介意这个部分,
str(saveKey(2))=='k']
,因为我有一个以后检查其他几个键,包括“d”

我想

saveKey = gwdzd10q
你是说

saveKey = "gwdzd10q"
如果是这样,该字符串的第三个字符将是
saveKey[2]
,而不是
saveKey(2)
。这已经是一个字符串,因此通过
str()
运行它是没有意义的

你似乎想要表达的条件是

saveKeyp or saveKey[2] == 'k'
由于
saveKeyp
是布尔值,因此使用
saveKeyp==True
是多余的

如果您想要一个
while
循环,由它控制,它将是:

while saveKeyp or saveKey[2] == 'k':

但在这种情况下,循环体需要修改
saveKeyp
saveKey
,否则将有一个无限循环。

首先,需要使用数组语法获取saveKey的字符:

while [saveKeyp == True,str(saveKey[2]) == 'k']:
其次,非空列表的计算结果为布尔值True。所以你在这里建立了一个无限循环

>>> bool([False, False])
True
>>> bool([False])
True
>>> bool([])
False
>>> 

请不要链接到代码。相反,发布相关的代码,但不要过多地隐藏核心问题。问一个与你发布的代码相关的有重点的问题。我们是程序员,所以(1)我们想要代码(2)它应该就在问题的这里,所以我们不必做整个点击的事情,(3)它应该是问题的一个简短例子,而不是一个巨大的代码转储,因为我们的注意力跨度很短。发布一个简短、可运行的问题示例!我改变了问题,你现在可以看一下吗?
saveKey(2)
,其中
saveKey
是一个字符串,没有意义-也许你想要方括号而不是括号?无论如何,整个事情都是毫无意义的——你有一个
while
循环,循环的条件是2元素列表。这两个元素的值是什么并不重要——非空列表是真实值。您可能已经编写了
,而True:
,这是一个无限循环。不,我正在尝试获取“while saveKeyp或saveKey[2]='k'”,是的,我的意思是“gwdzd10q”@RobM,然后我将修改答案。不清楚你用逗号的意图是什么。小家伙,我真蠢!我试过直接使用or,但它不起作用,所以我尝试了其他的方法。我真的在不知情的情况下绕着答案跳舞!谢谢你@JohnColeman