如何用前缀名称和迭代编号保存新制作的图片

2024-05-19 02:26:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个函数来创建彩色方形瓷砖,该函数依赖于createSquareTile(numTiles,prefix)函数。如何确保文件保存在调用函数时提到的某个前缀下,以及保存的次数。另外,如何根据“numTiles”中提到的次数循环这些代码?你知道吗

例如createSquareTile(2,squaretile),它将创建2个tile并保存为squaretile1,squaretile2

numTiles=要制作的瓷砖数量

prefix=要另存为的磁贴的前缀名称

代码:

def createSquareTile(numTiles, prefix):
  current = 1 #iteration number
  if current == 1: #Checks if first tile created
    size = requestNumber("Please input a positive number")
    sizeI = int(size)

  while (sizeI < 0): #If invalid input 
      showError("Your input number" + str(sizeI)+ "is not valid. Do it again!")
      size = requestNumber("Please input a positive number")

    if (sizeI > 0): #if input number is positive
      current = current + 1
      color = pickAColor()
      newTile = makeEmptyPicture(sizeI, sizeI, color)
      setMediaPath()
      writePictureTo(newTile, getMediaPath(string(prefix) + current))

  elif current > 1: #Checks if not first tile created
    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"): #If user wants to create the next tile with the same size as the previous
      current = current + 1
      colorY = pickAColor()
      newTileY = makeEmptyPicture(sizeI, sizeI, colorY)
      setMediaPath()
      writePictureTo(newTileY, getMediaPath(string(prefix)+ current))


    elif (previousChoice == "N"): #If not the first title made and user does not want previous size
      sizeN = requestNumber("Please input a positive size number")
      sizeNI = int(numTilesN)
      current = current + 1
      colorN = pickAColor()
      newTileN = makeEmptyPicture(sizeNI, sizeNI, colorN)
      setMediaPath()
      writePictureTo(newTileN, getMediaPath(string(prefix)+ current))

Tags: the函数numberinputsizeprefixifnot

热门问题