在图片上使用addText函数的结果

2024-06-01 02:11:05 发布

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

为大学做作业,我很困惑。我知道这一定很简单,但就我的一生而言,我无法得到函数mapLevel2来使用getDistanceBetweenaddText中的结果。在

我知道代码在循环中会更好,这是之后的下一步,但我需要先让代码工作。在

def mapLevel2():

  map=makePicture("C:/Users/Shaun/Documents/CPT120/Assignment 2/map.png")

  cityXvalue= [ 45,95,182,207,256,312,328,350,374,400 ]
  cityYvalue= [ 310,147,84,201,337,375,434,348,335,265 ]

  writePictureTo(map,"C:/Users/Shaun/Documents/CPT120/Assignment 2/marked-map.png")

  show (map)

  stops=requestInteger ("How many places would you like to visit?")

  if stops==2:

    start=requestInteger ("Where would you like to start your trip?")
    second= requestInteger ("What is the number of the next place you would like to visit")

  addLine(map,cityXvalue[start],cityYvalue[start],cityXvalue[second],cityYvalue[second])


  KMs=getDistanceBetween(cityXvalue[start],cityYvalue[start],cityXvalue[second],cityYvalue[second])

  addText(map,21,34,KMs)

  writePictureTo(map,"C:/Users/Shaun/Documents/CPT120/Assignment 2/marked-map.png")

  repaint (map)

def getDistanceBetween(x1,y1,x2,y2):

  dist=sqrt(pow(x1-x2,2)+pow(y1-y2,2))

  KMs=dist*10
  return KMs

谢谢你能给我的任何帮助。在


Tags: mappngstartusersdocumentssecondassignmentkms
1条回答
网友
1楼 · 发布于 2024-06-01 02:11:05

如果需要将函数getDistanceBetween的结果作为函数addText的参数,只需这样做:

1)首先,您需要实现函数getDistanceBetween

def getDistanceBetween(x1,y1,x2,y2):
  return 10*sqrt(pow(x1-x2,2)+pow(y1-y2,2))

2)之后你可以使用它。例如,可以保存结果:

^{pr2}$

3)现在您可以使用此变量KMs(也可以在没有中间变量的情况下执行相同操作):

addText(map,21,34,KMs)

4)好,现在有一个错误“错误是:第四个参数不能被强制为字符串”。这意味着您必须将浮点值转换为字符串(您可以阅读here如何执行此操作):

addText(map,21,34,"{:.5f}".format(KMs))

或无中间变量:

addText(map,21,34,"{:.5f}".format(getDistanceBetween(cityXvalue[start],cityYvalue[start],cityXvalue[second],cityYvalue[second])))

相关问题 更多 >