如果gmaps.figure()不是代码的最后一行,则gmaps不会显示地图?

时间:2019-06-05 08:55:59

标签: python-3.x jupyter-notebook

在此程序中,我创建了一个聊天机器人,该机器人将使用我要询问的某个位置的坐标进行响应,然后将这些坐标传递给

gmaps.figure()

如果

,程序运行正常
gmaps.figure(center=coordinates, zoom_level=zoom)

是代码的最后一行。但是,如果我在if主体下包含此行,则代码不会显示任何错误,但地图也不可见。

代码的注释部分是我看不到地图的地方。

这个简单的例子有效。


import gmaps
gmaps.configure(api_key=my_key)
print(type(30.2690717))
new_york_coordinates = (30.2690717, 77.9910673)
gmaps.figure(center=new_york_coordinates, zoom_level=17)

这有效,但是当代码的最后一行被删除并且if未注释映射下的注释语句不显示。

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
import os
import gmaps

bot = ChatBot("Bot")
trainer = ListTrainer(bot)
cor = []
for files in os.listdir("C://Users/Administrator/Desktop/Internship Project/chatterbot-corpus-master/chatterbot_corpus/data/english"):
    data = open("C://Users/Administrator/Desktop/Internship Project/chatterbot-corpus-master/chatterbot_corpus/data/english/"+files,'r').readlines()
    trainer.train(data)
gmaps.configure(api_key=my_key)


message = input('You:')
if(message.strip() != 'Bye'):
    reply = bot.get_response(message)
    cor = reply.text.split(',')
    lat = (float)(cor[0].strip('-'))
    lon = (float)(cor[1])
    zoom = (float)(cor[2])
    coordinates = (lat, lon)
    #gmaps.figure(center=coordinates, zoom_level=zoom)
gmaps.figure(center=coordinates, zoom_level=zoom)

即使gmaps.figure()不是代码的最后一行,我也希望看到地图。

但是,如果gmaps.figure()不是代码的最后一行,则没有错误,但地图也不会显示。

1 个答案:

答案 0 :(得分:0)

尝试在print()语句中使用if。如果您的gmaps.figureif内部,则将在(message.strip() != 'Bye')==TRUE时触发。因此,问题在于if语句会发生什么。当您将其放在最后一行时,它位于if之外。 Python是一种空间敏感语言