如何使用2个具有相同范围的变量进行for循环?

时间:2019-10-22 11:54:07

标签: python

Locale locale = new Locale("hi", "IN");
            int avail = textToSpeech.isLanguageAvailable(locale);
            switch (avail) {
                case TextToSpeech.LANG_AVAILABLE:
                    textToSpeech.setLanguage(Locale.forLanguageTag("hi"));
                    isLanguageAvailable = true;
                    break;
                case TextToSpeech.LANG_COUNTRY_AVAILABLE:
                case TextToSpeech.LANG_COUNTRY_VAR_AVAILABLE:
                    textToSpeech.setLanguage(locale);
                    isLanguageAvailable = true;
                    break;
            }

错误:

i = xCoordinate
s = yCoordinate
for i, s in range(5):
        pyautogui.moveTo(i, s)

4 个答案:

答案 0 :(得分:9)

为什么不两次使用相同的值?

for i in range(5):
    pyautogui.moveTo(i, i)

这应该工作正常。无论如何,您都可以使用zip来遍历2个不同的range对象:

for i, s in zip(range(5), range(5)):
    pyautogui.moveTo(i, s)

哦,抬起头来,这些行:

i = xCoordinate
s = yCoordinate

如果您在设置之后立即重置is的值,则绝对不执行任何操作

答案 1 :(得分:3)

不确定这是否是您的意思,但是我会尽力的。
您可能需要的是:

for i in range(5):
  for s in range(5):
        pyautogui.moveTo(i, s)

这将通过is的任何可能组合进行。

答案 2 :(得分:2)

range()返回单个值。您不能将其解压缩为两个值。

请注意您的(失效)代码

i = xCoordinate
s = yCoordinate
for i, s in range(5):
    pyautogui.moveTo(i, s)

将等于

i = xCoordinate
s = yCoordinate
for i in range(5):
    pyautogui.moveTo(i, i)

答案 3 :(得分:2)

您仍然可以创建一个将用作迭代器的初始变量,然后在每次迭代时将其值分配给两个新创建的局部变量

for i in range(10):#i is our iterator
#we assign i to both var1 and var2
  var1=i
  var2=i

  print(var1, var2) #we do whatever we want to do with the two variables