Python实操试题
Python实操试题
1.?基础语法与数据类型
a. 编写一个Python程序,要求用户输入名字并打印出"Hello, [输入的名字]!"。
b. 创建一个包含整数和字符串的列表,然后使用循环遍历并打印出每个元素。
2.?函数与模块
a. 定义一个函数,接受两个参数并返回它们的和。
b. 创建一个Python模块,包含一个计算平方的函数。
3.?文件操作
a. 创建一个文本文件(例如.txt),写入几行文字。
b. 编写一个程序,读取这个文本文件的内容并打印出来。
4.?异常处理
a. 编写一个程序,要求用户输入一个数字,然后尝试将其转换为整数。处理可能出现的异常情况。
b. 在同一个程序中添加一个文件读取功能,要求用户输入一个文件名,然后尝试打开并读取文件内容。处理可能出现的文件操作异常。
5.?面向对象编程
a. 创建一个名为Person
的类,具有name
和age
属性。添加一个方法,用于打印出该人的信息。
b. 创建一个Student
类,继承自Person
,并添加一个额外的属性grade
。覆盖父类的方法以包含学生的信息。
6.?列表推导式与Lambda函数
a. 使用列表推导式创建一个包含1到10之间偶数的列表。
b. 编写一个使用Lambda函数的程序,将输入的数字加倍。
7.?正则表达式
a. 编写一个程序,使用正则表达式从一段文本中提取所有的电子邮件地址。
b. 使用正则表达式验证用户输入的手机号码是否符合特定格式(例如,国际格式或国内格式)。
8.?网络请求与API
a. 使用requests
库向一个公开的API发送GET请求,获取数据并打印出其中的一些信息。
b. 编写一个简单的Flask应用,包含一个路由,返回一个JSON格式的响应。
9.?并发与多线程
a. 创建两个线程,一个线程打印偶数,另一个线程打印奇数,确保交替打印。
b. 使用concurrent.futures
模块实现一个简单的并发任务执行程序。
10.?测试
a. 编写一个简单的单元测试,测试一个自定义函数的正确性。
b. 使用unittest
或其他测试框架编写一个测试类,测试一个包含多个方法的类的各个功能。
1.?基础语法与数据类型
对于代码性质的问题,无法直接执行和提供运行后的结果,但我可以给你示范一些答案供参考。
基础语法与数据类型
a. ```python name = input("请输入名字:") print(f"Hello, {name}!")
b.
```python
my_list = [1, 'two', 3.0, 'four']
for item in my_list:
print(item)
2.?函数与模块
A
def add_numbers(a, b):
return a + b
?B
# square_module.py
def calculate_square(num):
return num ** 2
3.?文件操作
with open('sample.txt', 'w') as file:
file.write("这是第一行\n这是第二行\n这是第三行\n")
# b
with open('sample.txt', 'r') as file:
content = file.read()
print(content)
4.?异常处理
A
try:
user_input = int(input("请输入一个数字:"))
print("输入的数字是:", user_input)
except ValueError:
print("请输入有效的数字!")
?B
try:
file_name = input("请输入文件名:")
with open(file_name, 'r') as file:
content = file.read()
print(content)
except FileNotFoundError:
print("文件不存在!")
except IOError:
print("无法读取文件!")
5.?面向对象编程
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def print_info(self):
print(f"姓名: {self.name}, 年龄: {self.age}")
# b
class Student(Person):
def __init__(self, name, age, grade):
super().__init__(name, age)
self.grade = grade
def print_info(self):
print(f"姓名: {self.name}, 年龄: {self.age}, 年级: {self.grade}")
6.?列表推导式与Lambda函数
A
even_numbers = [num for num in range(1, 11) if num % 2 == 0]
print(even_numbers)
?B
double = lambda x: x * 2
result = double(5)
print(result)
7.?正则表达式
A
import re
text = "Sample text with emails user1@example.com and user2@example.com"
emails = re.findall(r'\b[\w.-]+@[a-zA-Z]+\.[a-zA-Z]{2,}\b', text)
print(emails)
?B
import re
def validate_phone_number(number):
pattern = r'^\+?[0-9]{1,3}\s?[0-9]{3,}$'
if re.match(pattern, number):
return True
else:
return False
user_input = input("请输入手机号码:")
if validate_phone_number(user_input):
print("手机号码格式正确!")
else:
print("手机号码格式不正确!")
8.?网络请求与API
A
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
data = response.json()
print(data['title'])
?B
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/hello', methods=['GET'])
def hello():
return jsonify({"message": "Hello, World!"})
if __name__ == '__main__':
app.run(debug=True)
9.?并发与多线程
A
import threading
def print_even():
for i in range(2, 11, 2):
print(i)
def print_odd():
for i in range(1, 10, 2):
print(i)
t1 = threading.Thread(target=print_even)
t2 = threading.Thread(target=print_odd)
t1.start()
t2.start()
t1.join()
t2.join()
?B
import threading
def print_even():
for i in range(2, 11, 2):
print(i)
def print_odd():
for i in range(1, 10, 2):
print(i)
t1 = threading.Thread(target=print_even)
t2 = threading.Thread(target=print_odd)
t1.start()
t2.start()
t1.join()
t2.join()
10.?测试
A
def add(a, b):
return a + b
def test_add():
assert add(3, 4) == 7
assert add(-2, 2) == 0
assert add(0, 0) == 0
test_add()
B
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('hello'.upper(), 'HELLO')
def test_isupper(self):
self.assertTrue('HELLO'.isupper())
self.assertFalse('Hello'.isupper())
if __name__ == '__main__':
unittest.main()
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!