牛客网专项练习30天Pytnon篇第08天

简介: 牛客网专项练习30天Pytnon篇第08天

1.执行以下程序,输出结果为:(B)

sizes = ['S','M']
colors = ['white','black']
shirts = [(size,color) for color in colors for size in sizes]
print(shirts)

A.[('S', 'white'), ('S', 'black'), ('M', 'white'), ('M', 'black')]


B.[('S', 'white'), ('M', 'white'), ('S', 'black'), ('M', 'black')]


C.[('S', 'white'), ('M', 'black')]


D.[('white', 'S'), ('black', 'M')]


解析:


      列表生成式的执行结果等效于:      

sizes = ['S','M']
       colors = ['white','black']
       shirts = []
       for color in colors:
             for size in sizes:
                   shirts.append((size,color))
       print(shirts)

      因此输出结果为B选项。


      先循环colors层,再循环sizes层,就是列表推导式的最前面color和size是相反的,先循环出来的在元组第二个位置了 ,每个color对应两个size,出来顺序是(white,S),(white,M),(black,S),(black,M),然后组装时题目中顺序是左右调换。


2.执行下列选项的程序,会抛出异常的是:(B)


A.

s1 = 'aabbcc'
s2 = 'abc'
count = s1.count(s2)
if count > 0 :
      print('s2是s1的子串')
else:
      print('s2不是s1的子串')

B.

s1 = 'aabbcc'
s2 = 'abc'
index = s1.index(s2)
if index > -1:
      print('s2是s1的子串')
else:
      print('s2不是s1的子串')

C.

s1 = 'aabbcc'
s2 = 'abc'
find = s1.find(s2)
if find != -1 :
      print('s2是s1的子串')
else:
      print('s2不是s1的子串')

D.

s1 = 'aabbcc'
s2 = 'abc'
if s2 in s1:
      print('s2是s1的子串')
else:
      print('s2不是s1的子串')

解析:


      四个选项都是判断s2是否为s1的子串,但B选项的str.index不同于其他方法,当查找不到子串时会抛出异常。


      count()函数没有匹配到对象返回0;


      index()函数没有匹配到对象报错value Error;


      find()函数没有匹配到对象返回-1;


      in 没有匹配到对象返回false。


3.执行下列选项代码,输出[1, {'age': 10}]的是:(D)


A.

a = [1,{'age':10}]
b = a
a[1]['age'] = 12
print(b)

B.

a = [1,{'age':10}]
b = a[:]
a[1]['age'] = 12
print(b)

C.

a = [1,{'age':10}]
b = a.copy()
a[1]['age'] = 12
print(b)

D.

import copy
a = [1,{'age':10}]
b = copy.deepcopy(a)
a[1]['age'] = 12
print(b)

解析:


      根据题意选项中A选项是值复制,修改变量a的可变对象和不可变对象都会对变量b产生影响,BC选项是浅复制,修改变量a的可变对象会对b产生影响,D选项是深复制,修改可变和不可变对象对b都无影响。


4.下面代码运行后,a、b、c、d四个变量的值,描述错误的是:(D)

import copy
a = [1, 2, 3, 4, ['a', 'b']]
b = a
c = copy.copy(a)
d = copy.deepcopy(a)
a.append(5)
a[4].append('c')

A.a ==  [1,2, 3, 4, ['a', 'b', 'c'], 5]


B.b ==  [1,2, 3, 4, ['a', 'b', 'c'], 5]


C.c ==  [1,2, 3, 4, ['a', 'b', 'c']]


D.d ==  [1,2, 3, 4, ['a', 'b', 'c']]


解析:


      1) 执行b=a时,仅能产生对列表a的一个新的引用(别名),此时,a和b都是实际数据[1, 2, 3, 4, ['a', 'b']]的表示,真实数据只存储一份;


      2) 执行c = copy.copy(a)时,浅拷贝并生成新的列表对象,但需注意的是:浅拷贝中的可变对象(本题中为子列表['a','b'])会随原列表的变化而变化;


     3) 依照第2)条,执行a.append(5),a[4].append('c')时,对c的影响仅作用于可变对象,即['a','b'] -> ['a','b','c'];


     4) 执行d = copy.deepcopy(a)时,深拷贝并生成新的列表对象。深拷贝:拷贝后对象的逻辑状态相同,即仅是各自内存地址中所对应的值相同,而不是指向同一内存地址。故修改a不会影响d。


5.执行以下程序,当用户输入0时,输出结果为:(D)

dividend = 1
divide = int(input())
try:
    result = dividend / divide
    print(1, end=" ")
except ZeroDivisionError:
    print(2, end=" ")
except Exception:
    print(3, end=" ")
else:
    print(4)

A.1   2  


B.2   4  


C.2   3  


D.2


解析:


      在try...except...else结构中,当执行try程序块的语句时,若出现异常的语句,则不会继续执行try还未执行的代码,而是直接跳到except程序块,由于0不能作为分母,其抛出的异常对象属于异常类ZeroDivisionError,结果输出2,当异常被处理完时,会直接跳出except程序块,当try程序块没有出现异常时,不会执行except而执行else语句,出现异常时则执行except而不执行else,所以最终输出结果是2。


相关文章
|
6月前
|
人工智能 自然语言处理 供应链
科技云报到:RPA怎么了?2025年或将强的可怕!
科技云报到:RPA怎么了?2025年或将强的可怕!
234 1
|
9月前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成
在现代软件开发过程中,自动化测试和持续集成已成为不可或缺的组成部分。本文将深入探讨自动化测试和持续集成的重要性、优势以及如何有效实施它们以提升软件质量和开发效率。通过具体案例分析,我们将展示这些技术如何在实际项目中发挥作用,并讨论其面临的挑战及应对策略。
229 60
|
10月前
|
Python
Django 框架的路由系统
Django 框架的路由系统
267 63
|
9月前
|
JSON API 数据格式
淘系等商品评论Json数据格式参考,API接口测试
通过以上示例和说明,你可以了解淘系商品评论的JSON数据结构和如何使用相关API接口获取评论数据。在实际操作中,你需要参考具体的API接口文档和开放平台的相关说明进行配置和调用。
|
索引
String index out of range错误与解决方法
String index out of range错误与解决方法
5888 0
|
10月前
|
搜索推荐 数据挖掘 API
制造业CRM解决方案:管理升级之道
制造业面临订单价值大、交货周期长、客户开发难等挑战。CRM 系统通过全面管理客户信息、精准营销、改善服务质量和订单管理,有效解决了这些问题。成功案例显示,CRM 系统能显著提高销售转化率和客户满意度。推荐的 CRM 系统包括销售易、SalesForce、神州云动 Cloud CC、用友 CRM、金蝶 CRM 和 Zoho CRM。选择合适的 CRM 系统对制造业的数字化转型和可持续发展至关重要。
|
11月前
|
人工智能 弹性计算 运维
触手可及:阿里云函数计算助力AI大模型的评测
阿里云推出的面向AI服务器的功能计算(Functional Computing, FC),专为AI应用提供弹性计算资源。该服务支持无服务器部署、自动资源管理和多语言支持,极大简化了AI应用的开发和维护。本文全面评测了FC for AI Server的功能特性、使用体验和成本效益,展示了其在高效部署、成本控制和安全性方面的优势,并通过具体应用案例和改进建议,展望了其未来发展方向。
435 4
|
监控 API 开发工具
邮件中继中转邮箱API发送邮件的方法和步骤
AokSend介绍了使用邮件中继中转邮箱API发送邮件的步骤:理解API概念,获取API密钥,设置发件人和收件人信息,构建并发送API请求,处理响应,监控调试,及完善邮件功能。该服务支持大量验证码发送、触发式接口和高触达SMTP/API接口。选择合适提供商并参考文档可优化邮件发送。
|
搜索推荐 数据可视化 BI
ECharts 蓝色系-荧光图标折线图01案例
ECharts 案例展示了一周内各路线数据的蓝色荧光折线图,揭示流量趋势。预览包括静态图片和动态GIF。使用ECharts 5.2.0配置图表,包含背景、网格、图例及数据。代码示例初始化图表、定义X轴类别和Y轴值,以及系列颜色。完整案例可在链接中下载。案例结合动态效果与个性化设计,增强数据可视化的吸引力。
277 0
ECharts 蓝色系-荧光图标折线图01案例
|
缓存 关系型数据库 MySQL
及到Linux系统的软件包依赖和冲突问题
及到Linux系统的软件包依赖和冲突问题
436 2