<s>Human: 输入两个城市的经纬度，计算出这两个城市之间的距离。
北京的经纬度(39.90, 116.40)，上海的经纬度(31.23, 121.47)
</s><s>Assistant: 可以使用地球经纬度坐标系上两点间距离公式来计算这两个城市之间的距离。这个公式基于经纬度和球面三角形定理，可以计算出球面上的两个点之间的直线距离。

下面是使用Python计算这两个城市之间距离的代码实现：


``` python
from math import sin, cos, sqrt, atan2, radians

# approximate radius of earth in km
R = 6373.0

lat1 = radians(39.90)
lon1 = radians(116.40)
lat2 = radians(31.23)
lon2 = radians(121.47)

dlon = lon2 - lon1
dlat = lat2 - lat1

a = sin(dlat / 2)**2 + cos(lat1) * cos(lat2) * sin(dlon / 2)**2
c = 2 * atan2(sqrt(a), sqrt(1 - a))

distance = R * c

print("Distance between Beijing and Shanghai is: ", distance, " km")
```

输出结果为：

```
Distance between Beijing and Shanghai is:  1067.2889310590072  km
```

因此，北京和上海之间的距离约为1067千米。
</s>