A37232. 已知 IPv6 的地址字符串的格式为 X:X:X:X:X:X:X:X, 其中每个 X 表示长度为 4 的字符串。例如: 某 IPv6 字符串:“2A08:CCD6:0088:108A:0011:0002:202F:AA05”, IPv6 表示法需将每个X 的前导零都省略, 程序输出结果如下图所示:现设计程序自动删除 IPv6 地址的前导零, 请在划线处填入合适的代码。s="2A08:CCD6:0…
填空题
困难
知识点
题目描述
已知 IPv6 的地址字符串的格式为 X:X:X:X:X:X:X:X, 其中每个 X 表示长度为 4 的字符串。例如: 某 IPv6 字符串:“2A08:CCD6:0088:108A:0011:0002:202F:AA05”, IPv6 表示法需将每个X 的前导零都省略, 程序输出结果如下图所示:

现设计程序自动删除 IPv6 地址的前导零, 请在划线处填入合适的代码。
s="2A08:CCD6:0088:108A:0011:0002:202F:AA05"
______①______
flag=False
for i in range(len(s)):
if s[i]==":":
______②______
flag=False
elif ______③______:
ans+=s[i]
flag=True
print("原 IPv6 地址为:",s)
print("去前导零后:",ans)
参考答案
s="2A08:CCD6:0088:108A:0011:0002:202F:AA05"
ans=""
flag=False
for i in range(len(s)):
if s[i]==":":
ans+=s[i]
flag=False
elif s[i]!="0" or flag==True:
ans+=s[i]
flag=True
print("原 IPv6 地址为:",s)
print("去前导零后:",ans)答案解析
评分标准:
(1) ans="" ; (3 分)
(2) ans+=s[i]; (3 分)
(3) s[i]!="0" or flag==True。 (4 分)
上一题
下一题