- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
一、编程题
1、36.已知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
foriinrange(len(s)):
ifs[i]==::
②
flag=False
elif③:
ans+=s[i]
flag=True
print(原IPv6地址为:,s)
print(去前导零后:,ans)
参考答案:```pythons=2A08:CCD6:0088:108A:0011:0002:202F:AA05ans=flag=Fa
lseforiinrange(len(s)):ifs[i]==::flag=Falseelifnotflag:ans+=s[i]flag=Trueprint(原
IPv6地址为:,s)print(去前导零后:,ans)```
解析:【喵呜刷题小喵解析】:
题目要求设计一个程序,自动删除IPv6地址的前导零。IPv6地址由8个长度为4的字
符串组成,字符串之间用冒号分隔。
首先,我们定义一个字符串变量`s`,用于存储输入的IPv6地址。
然后,我们定义一个空字符串`ans`,用于存储去前导零后的IPv6地址。
接着,我们定义一个布尔变量`flag`,用于标记当前是否正在处理前导零。初始值
为`False`。
然后,我们使用一个for循环遍历字符串`s`的每个字符。
在循环中,我们首先检查当前字符是否是冒号。如果是,说明已经遍历完一个长度
为4的字符串,我们将`flag`设置为`False`,表示下一个字符可能是前导零。
如果当前字符不是冒号,我们检查`flag`的值。如果`flag`为`False`,说明当前字符
可能是前导零,我们将其添加到`ans`中,并将`flag`设置为`True`。
最后,我们输出原始IPv6地址和去前导零后的IPv6地址。
注意,在题目中,给出的代码存在错误,如`flag=False`应该放在循环外面,`ans+=
s[i]`前需要初始化`ans`为空字符串等。修正后的代码如上述所示。
2、37.编写程序,实现分段函数的计算,分段函数的取值如下表所示。要求:可连
续输入5次(也就是输入5个x值,求出对应的y值),根据对应的表达式求出y值之
后,将结果转化成整数添加到列表a中。请判断存在于列表a中的5个元素是否为素
数,如果为非素数则转化成元组之后存在b1中,如果是素数则转换成元组之后存放
在b2中,分别输出b1、b2中非素数和素数的元素及元素个数。
a=[]
a1=[]#暂时存储非素数的值
a2=[]#暂时存储素数的值
b1=()
b2=()
foriinrange(5):
x=int(input(输入x=))
ifx0:
y=0
elif0=x5:
y=x
elif5=x10:
y=3*x-5
elif10=x20:
y=0.5*x-2
elifx=20:
y=2*x
①
foriina:
if②:
a1.append(i)
else:
flag=True
forjinrange(2,i):
ifi%j==0:
③
break
if④:
a2.append(i)
else:
a1.append(i)
b1=tuple(a1)
b2=tuple(a2)
print(非素数的个数有+str(len(b1))+个,,非素数为:,b1)
print(素数的个数有+str(len(b2))+个,,素数为:,b2)
参考答案:```pythona=[]a1=[]#暂时存储非素数的值a2=[]#
暂时存储素数的值b1=()b2=()foriinrange(5):x=int(input(输入x=))ifx0:y=
0elif0=x5:y=xelif5=x10:y=3*x-5elif10=x20:y=0.5*x-2
您可能关注的文档
最近下载
- 组织变革与组织文化组织变革与组织文化.pptx VIP
- 舌尖上的广东详解.ppt VIP
- 苏教版七年级数学上册期中考试质量测试卷附参考答案.doc VIP
- 2023-中国海外投资指数.pdf VIP
- Unit6Nurturingnature招聘启事(单元写作讲义)英语外研版2019选择性(原卷版)-.docx
- 简单到难的数独200题(后附答案).docx VIP
- 原发性骨质疏松症诊疗指南.pptx
- 陕09J04-1、陕09J04-2、陕09J04-3 内装修(墙面)、内装修(配件)、内装修(吊顶)陕西 建筑 图集.docx VIP
- 细辛与临床 附 疑、难、重、奇案73例.pdf VIP
- 铁路信号号继电器.ppt VIP
原创力文档


文档评论(0)