Python:如果elif

时间:2016-10-02 04:01:48

标签: python if-statement while-loop

我正在尝试创建一个函数,根据createSquareTile(numTiles,prefix)中的tile数量创建一个空的彩色图片

def createSquareTile(numTiles, prefix):
  current = 1
  if current == 1:
    numTiles = requestNumber("Please input a positive number")
    numTilesI = int(numTiles)

    while (numTilesI < 0):
      showError("Your input number" + str(numTiles)+ "is not valid. Do it       again!")
      numTiles = requestNumber("Please input a positive number")

    if (numTilesI > 0):
    current = current + 1
    color = pickAColor()
    return makeEmptyPicture(numTilesI), numTilesI), color)

  elif current > 1:
    previousChoice = requestString("Same size as pervious tile? (Y/N)")

    while (previous != "N") and (previous != "Y"):
      showError("Your input character" + previousChoice + "is not valid. Do it again!")
      previousChoice = requestString("Same size as previous tile? (Y/N)")

    if (previousChoice == "Y"):
      color = pickAColor()
      return makeEmptyPicture(numTilesI, numTilesI, color)
      current = current + 1


    elif (previousChoice == "N"):
      numTilesN = requestNumber("Please input a positive number")
      numTIlesNI = int(numTilesN)
      colorN = pickAColor()
      return makeEmptyPicture(numTilesNI, numTilesNI, colorN)
      current = current + 1

根据python,

存在间距错误
elif current > 1:

有人可以帮我解释我的elif声明有什么问题吗?提前谢谢!

2 个答案:

答案 0 :(得分:1)

可能的原因:

  • 上面的行有错误的空格。
  • 您将tabspace混合。
  • 你偶然发现了一些隐藏的角色。

为什么不首先尝试去除上面的白线?如果所有可能性都无法奏效,请发表评论。

答案 1 :(得分:0)

这是你的问题:     返回makeEmptyPicture(numTilesI),numTilesI),color)

您应该从)中移除numTilesI), color)并且应该有效,因为实际上您的程序在此行停止而不是向前移动。执行调试并检出:

  

连接到pydev调试器(build 162.1967.10)   处理以退出代码0结束

正确的是:     makeEmptyPicture(numTilesI),numTilesI,color

相关问题