在此程序中,我创建了一个聊天机器人,该机器人将使用我要询问的某个位置的坐标进行响应,然后将这些坐标传递给
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()
不是代码的最后一行,则没有错误,但地图也不会显示。
答案 0 :(得分:0)
尝试在print()
语句中使用if
。如果您的gmaps.figure
在if
内部,则将在(message.strip() != 'Bye')==TRUE
时触发。因此,问题在于if
语句会发生什么。当您将其放在最后一行时,它位于if
之外。 Python是一种空间敏感语言。