Python 笔试题目分析与修正
需积分: 0 153 浏览量
更新于2024-08-04
收藏 63KB DOCX 举报
1. 问题1涉及一个使用while循环的Python脚本,其目标是打印一系列的0.1乘以3的倍数,直到达到8.1。然而,脚本实际上会无限循环并不断打印数字,而不是在特定条件满足后停止。问题在于while循环的终止条件设置错误,`i != 8.1` 应该改为 `i < 8.1`,这样当 `i` 达到8.1时,循环就会自然终止。修改后的代码如下:
```python
multiply_factor = 3
i = 0.1
while i < 8.1:
i *= multiply_factor
print(i)
```
2. 问题2A要求编写一个函数,返回给定字符的ASCII值。如果输入不是ASCII字母,则返回None。可以使用Python的ord()函数实现这一功能。示例代码如下:
```python
def func(char):
if char.isalpha():
return ord(char)
else:
return None
print(func("a")) # 结果:97
print(func("A")) # 结果:65
print(func("说")) # 结果:None
```
问题2B的回答是,尽管ASCII编码适用于大部分英文字符,但Unicode是一种包含更多字符集的标准,如非英文字符、符号和表情,因此在处理全球范围内的文本处理时更为全面。
3. 在问题3中,`func()` 函数在每次调用时都会添加一个新的元素0到列表`data`中,因为默认参数`data=[]`创建了一个局部变量而非引用全局变量。要使每次调用只影响自身,应将`data`改为可选参数,如`data=None`,并确保每次调用时传递新值。修改后的代码:
```python
def func(data=None):
if data is None:
data = []
data.append(0)
return data
print(func()) # [0]
print(func([1])) # [1, 0]
print(func()) # [0]
print(func([1])) # [1, 0]
print(func()) # [0]
```
4. 问题4描述了一个名为`foo`的函数,它调用另一个名为`mystery`的函数,并根据输入的数值进行相应操作。给定例子表明,`mystery(8)`返回8的两倍,而`foo(-1)`返回-1的负两倍。`mystery`函数可能是这样的:
```python
def mystery(n):
return n * 2
foo = mystery(8)
```
5. 问题5要求使用Python的内置函数来完成某些任务,但提供的链接并未给出具体的问题或要求。根据上下文,可能是询问如何使用内置函数来执行常见的字符串处理、数据转换或其他操作。由于缺少详细问题,无法提供精确答案,但请参考Python官方文档(链接)查找所需的函数,如`len()`、`str()`、`int()`等,并结合题目描述来实现所需功能。
266 浏览量
4536 浏览量
118 浏览量
163 浏览量
2023-08-04 上传
石悦
- 粉丝: 20
- 资源: 285
最新资源
- ImageAnnotation:有关如何使用Photoshop提取视频帧和注释图像的教程。 提供了两个脚本来计算每个类别的覆盖率和图像大小(R和Matlab)
- mixchar:R包“ mixchar”的存储库
- MFCApplication1.rar
- 在安卓上使用的app例程
- test01:这只是一个git测试库。 测试Git及其功能
- MFC自定义按钮实现
- part_2a_decoding_with_loops.zip
- 行业文档-设计装置-一种具有储水功能的花盆.zip
- EVERSON
- 个人偏好:这些是我使用的所有东西,可能会忘记的事情。 所以我把它们都收集在这里。 这可能对您有用:)
- 验证码训练、识别数据集,共1070个验证码图片
- 华科网络内容管理系统 v5.3 手机+PC
- SSM整合jar包
- matlab确定眼睛的代码-BME3053C-final-project:实验大鼠鬼脸秤的机器识别
- Naga-Phaneendra.Ghantasala_152681_phase2
- 行业文档-设计装置-一种平台升降装置.zip