6.27-7.01

第一次作业

#思考题一:不要运行下列代码,输出结果应该是什么? 为什么?
a = 1
b = a
a = a + 1
print(a,b)

#思考题二:下面的代码中, l1、l2 和 l3 都指向同一个对象吗?如何验证?

l1 = [1, 2, 3]
l2 = [1, 2, 3]
l3 = l2

答案:

>>> 2  1

变量名存放在栈区

变量值存放在堆区,这里将a的值赋值给b,所以这个时候b=1,之后a在发生改变不影响b的内存地址

print(l1 is l2)
>>> False

第二次作业

# 思考题1:下面的代码会报错吗? 为什么?

l1 = [1, 2, 3]
l2 = l1
l1.append(4)
print(l1)
del l1
print(l2)
   

答案:

不会,列表l1包含的元素值被l2间接引用,此时值存放在堆区,当l1被删除之后,由于值还被l2引用,引用计数还是1,不为0 则不会被GC清除,所以l2还是存在值的。

第三次作业

#算法题:罗马数字转整数
# 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

# 字符          数值
# I             1
# V             5
# X             10
# L             50
# C             100
# D             500
# M             1000

# 例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做  XXVII, # 即为 XX + V + II 。

# 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

#  I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
#  X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 
#  C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
#  给定一个罗马数字,将其转换成整数。

### 以下为示例
# 输入: s = "III"
# 输出: 3


# 输入: s = "IX"
# 输出: 9

# 输入: s = "LVIII"
# 输出: 58
# 解释: L = 50, V= 5, III = 3.


# 输入: s = "MCMXCIV"
# 输出: 1994
# 解释: M = 1000, CM = 900, XC = 90, IV = 4.

答案

def put_sum (s:str):
    luoma_dict = {
        'I': 1,
        "V": 5,
        'X': 10,
        "XL": 40,
        'L': 50,
        'C': 100,
        'D': 500,
        'M': 1000
    }
    sum = 0
    for i in range(len(s)):
        if i < len(s) - 1 and luoma_dict[s[i]] < luoma_dict[s[i + 1]]:
            sum = sum - luoma_dict[s[i]]
        else:
            sum += luoma_dict[s[i]]
    return  sum

要在ECharts百度地图上添加工具栏,你可以使用ECharts提供的API和百度地图API结合起来实现。 以下是一个简单的示例,显示了如何在ECharts百度地图上添加工具栏: ```javascript // 初始化百度地图 var bmap = new BMap.Map("container"); bmap.centerAndZoom(new BMap.Point(116.404, 39.915), 11); bmap.enableScrollWheelZoom(true); // 初始化ECharts实例 var echartsContainer = document.getElementById('container'); var echartsInstance = echarts.init(echartsContainer); // 定义ECharts选项 var option = { // 将ECharts的地图类型设置为百度地图 bmap: { center: [116.404, 39.915], zoom: 11, roam: true }, // 定义ECharts工具栏 toolbox: { feature: { saveAsImage: {}, dataView: {}, restore: {}, myTool1: { show: true, title: '自定义工具1', icon: 'path://M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512z m251.15 369.38L503.88 317.5c-5.51-5.5-14.45-5.5-19.96 0L512 330.38V176c0-7.73-6.27-14-14-14s-14 6.27-14 14v161.34l-68.44-68.44c-5.5-5.5-14.44-5.5-19.95 0l-22.63 22.63c-5.5 5.5-5.5 14.44 0 19.95l91.55 91.55c2.75 2.75 6.36 4.12 9.98 4.12s7.23-1.37 9.98-4.12l91.56-91.55c5.5-5.5 5.5-14.44 0-19.95z', onclick: function () { alert('自定义工具1被点击'); } }, myTool2: { show: true, title: '自定义工具2', icon: 'path://M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512z m251.15 369.38L503.88 317.5c-5.51-5.5-14.45-5.5-19.96 0L512 330.38V176c0-7.73-6.27-14-14-14s-14 6.27-14 14v161.34l-68.44-68.44c-5.5-5.5-14.44-5.5-19.95 0l-22.63 22.63c-5.5 5.5-5.5 14.44 0 19.95l91.55 91.55c2.75 2.75 6.36 4.12 9.98 4.12s7.23-1.37 9.98-4.12l91.56-91.55c5.5-5.5 5.5-14.44 0-19.95z', onclick: function () { alert('自定义工具2被点击'); } } } }, // 定义ECharts系列数据 series: [{ type: 'scatter', coordinateSystem: 'bmap', data: [ [116.404, 39.915], [117.404, 39.915], [116.404, 40.915], [117.404, 40.915] ], symbolSize: 20 }] }; // 将选项设置到ECharts实例中 echartsInstance.setOption(option); ``` 请注意,此示例中的选项中有一个`toolbox`对象,其中包含了两个自定义工具。你可以根据需要添加或删除工具。 在上面的示例中,我们使用了一个自定义图标作为工具的图标。如果你没有自己的图标,可以使用ECharts提供的默认图标。例如,使用`saveAsImage`工具的默认图标,只需将`myTool1`工具的`icon`属性设置为`'image://http://echarts.baidu.com/images/favicon.png'`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_水哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值