这个题库涵盖基础语法、数据结构与算法、库的使用、面向对象编程以及解决实际问题的能力。
问题描述:
编写一个Python函数,接受一个字符串输入,返回字符串的长度。如果输入的不是字符串,则返回“Invalid input”。
示例代码:
pythondef string_length(s):
if not isinstance(s, str):
return "Invalid input"
return len(s)
问题描述:
编写一个函数,接受一个列表和一个整数n
,返回一个新的列表,包含原列表中所有大于n
的元素。
示例代码:
pythondef filter_list(lst, n):
return [x for x in lst if x > n]
问题描述:
编写一个函数,将一个字符串中的所有空格替换为下划线。
示例代码:
pythondef replace_spaces(s):
return s.replace(' ', '_')
问题描述:
编写一个函数,接受一个元组,并返回其元素的和。
示例代码:
pythondef sum_tuple(t):
return sum(t)
问题描述:
编写一个函数,接受两个列表,返回它们的交集。
示例代码:
pythondef intersect_lists(lst1, lst2):
return list(set(lst1) & set(lst2))
问题描述:
编写一个函数,接受两个数字,返回它们的乘积。
示例代码:
pythondef multiply(a, b):
return a * b
问题描述:
编写一个函数,判断一个数字是否为偶数。
示例代码:
pythondef is_even(n):
return n % 2 == 0
问题描述:
编写一个函数,打印1到10之间的所有数字。
示例代码:
pythondef print_numbers():
for i in range(1, 11):
print(i)
问题描述:
编写一个函数,接受一个整数列表,返回所有偶数的平方组成的新列表。
示例代码:
pythondef even_squares(lst):
return [x**2 for x in lst if x % 2 == 0]
问题描述:
编写一个函数,接受一个字典和一个键,返回对应的值。如果键不存在,返回“Key not found”。
示例代码:
pythondef get_value(d, key):
return d.get(key, "Key not found")
问题描述:
编写一个函数,生成斐波那契数列的前n
个数。
示例代码:
pythondef fibonacci(n):
sequence = []
a, b = 0, 1
while len(sequence) < n:
sequence.append(a)
a, b = b, a + b
return sequence
问题描述:
实现一个快速排序算法,并对一个随机生成的列表进行排序。
示例代码:
pythondef quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quicksort(left) + middle + quicksort(right)
问题描述:
编写一个函数,使用二分查找在排序列表中查找一个元素,返回其索引。如果元素不存在,返回-1。
示例代码:
pythondef binary_search(arr, x):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == x:
return mid
elif arr[mid] < x:
left = mid + 1
else:
right = mid - 1
return -1
问题描述:
编写一个函数,反转一个单向链表。
示例代码:
pythonclass ListNode:
def __init__(self, value=0, next=None):
self.value = value
self.next = next
def reverse_list(head):
prev = None
current = head
while current:
next_node = current.next
current.next = prev
prev = current
current = next_node
return prev
问题描述:
编写一个函数,实现二叉树的前序遍历。
示例代码:
pythonclass TreeNode:
def __init__(self, value=0, left=None, right=None):
self.value = value
self.left = left
self.right = right
def preorder_traversal(root):
if not root:
return []
return [root.value] + preorder_traversal(root.left) + preorder_traversal(root.right)
问题描述:
编写一个函数,返回一个整数列表中的最大值。
示例代码:
pythondef find_max(lst):
return max(lst)
问题描述:
编写一个函数,合并两个有序列表,并返回一个新的有序列表。
示例代码:
pythondef merge_sorted_lists(lst1, lst2):
return sorted(lst1 + lst2)
问题描述:
编写一个函数,检测一个链表是否有环。
示例代码:
pythondef has_cycle(head):
slow, fast = head, head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
if slow == fast:
return True
return False
问题描述:
编写一个函数,判断一个字符串中的括号是否平衡。
示例代码:
pythondef is_balanced(s):
stack = []
matching_bracket = {')': '(', '}': '{', ']': '['}
for char in s:
if char in matching_bracket.values():
stack.append(char)
elif char in matching_bracket.keys():
if stack == [] or matching_bracket[char] != stack.pop():
return False
return stack == []
问题描述:
编写一个函数,使用Dijkstra算法计算图中从一个节点到另一个节点的最短路径。
示例代码:
pythonimport heapq
def dijkstra(graph, start):
heap = [(0, start)]
distances = {node: float('inf') for node in graph}
distances[start] = 0
while heap:
current_distance, current_node = heapq.heappop(heap)
if current_distance > distances[current_node]:
continue
for neighbor, weight in graph[current_node].items():
distance = current_distance + weight
if distance < distances[neighbor]:
distances[neighbor] = distance
heapq.heappush(heap, (distance, neighbor))
return distances
问题描述:
编写一个函数,读取一个文本文件,并统计每个单词出现的次数。
示例代码:
pythonfrom collections import Counter
def word_count(file_path):
with open(file_path, 'r') as file:
text = file.read()
words = text.split()
return Counter(words)
问题描述:
编写一个函数,使用Pandas读取一个CSV文件,并返回其中某一列的平均值。
示例代码:
pythonimport pandas as pd
def column_average(file_path, column_name):
df
= pd.read_csv(file_path)
return df[column_name].mean()
问题描述:
编写一个函数,将一个字典转换为JSON字符串,并将其保存到文件中。
示例代码:
pythonimport json
def dict_to_json_file(data, file_path):
with open(file_path, 'w') as file:
json.dump(data, file)
问题描述:
编写一个函数,返回当前日期和时间的字符串表示,格式为“YYYY-MM-DD HH:MM
”。示例代码:
pythonfrom datetime import datetime
def current_datetime():
return datetime.now().strftime('%Y-%m-%d %H:%M:%S')
问题描述:
编写一个函数,检查一个字符串是否是有效的电子邮件地址。
示例代码:
pythonimport re
def is_valid_email(email):
pattern = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'
return re.match(pattern, email) is not None
问题描述:
使用requests
库从一个API获取数据,并解析JSON响应,提取其中的某些字段。
示例代码:
pythonimport requests
def fetch_data(api_url):
response = requests.get(api_url)
data = response.json()
return data['desired_field']
api_url = 'https://api.example.com/data'
print(fetch_data(api_url))
问题描述:
编写一个函数,使用多线程来并发执行多个任务。
示例代码:
pythonimport threading
def task(n):
print(f'Task {n} is running')
threads = []
for i in range(5):
thread = threading.Thread(target=task, args=(i,))
threads.append(thread)
thread.start()
for thread in threads:
thread.join()
问题描述:
编写一个函数,压缩一个目录中的所有文件,并将其解压到另一个目录。
示例代码:
pythonimport zipfile
import os
def compress_and_extract(src_dir, dest_dir, zip_name):
with zipfile.ZipFile(zip_name, 'w') as zipf:
for root, dirs, files in os.walk(src_dir):
for file in files:
zipf.write(os.path.join(root, file), file)
with zipfile.ZipFile(zip_name, 'r') as zipf:
zipf.extractall(dest_dir)
问题描述:
编写一个函数,生成一个指定长度的随机字符串,包含大小写字母和数字。
示例代码:
pythonimport random
import string
def random_string(length):
characters = string.ascii_letters + string.digits
return ''.join(random.choice(characters) for i in range(length))
问题描述:
编写一个函数,计算一个给定数字的平方根。
示例代码:
pythonimport math
def sqrt(n):
return math.sqrt(n)
问题描述:
编写一个类Rectangle
,包含初始化方法、计算面积和周长的方法,并实例化一个矩形对象,打印其面积和周长。
示例代码:
pythonclass Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
def perimeter(self):
return 2 * (self.width + self.height)
rect = Rectangle(4, 5)
print(f"Area: {rect.area()}, Perimeter: {rect.perimeter()}")
问题描述:
编写一个类Square
,继承自Rectangle
,并覆盖计算面积的方法。
示例代码:
pythonclass Square(Rectangle):
def __init__(self, side):
super().__init__(side, side)
def area(self):
return self.width * self.height
问题描述:
编写两个类Dog
和Cat
,都包含一个方法make_sound
,并在一个函数中调用该方法,展示多态性。
示例代码:
pythonclass Dog:
def make_sound(self):
return "Woof!"
class Cat:
def make_sound(self):
return "Meow!"
def animal_sound(animal):
print(animal.make_sound())
dog = Dog()
cat = Cat()
animal_sound(dog)
animal_sound(cat)
问题描述:
编写一个类Person
,包含私有属性__name
和公开方法get_name
和set_name
,用于访问和修改__name
。
示例代码:
pythonclass Person:
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
person = Person("John")
print(person.get_name())
person.set_name("Doe")
print(person.get_name())
问题描述:
编写一个抽象类Shape
,包含一个抽象方法area
,并编写一个具体类Circle
继承自Shape
,实现area
方法。
示例代码:
pythonfrom abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * self.radius ** 2
问题描述:
编写一个类MathOperations
,包含一个类方法add
和一个静态方法subtract
。
示例代码:
pythonclass MathOperations:
@classmethod
def add(cls, a, b):
return a + b
@staticmethod
def subtract(a, b):
return a - b
问题描述:
编写一个类Vector
,实现向量的加法运算符重载。
示例代码:
pythonclass Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
return Vector(self.x + other.x, self.y + other.y)
def __repr__(self):
return f"Vector({self.x}, {self.y})"
v1 = Vector(2, 3)
v2 = Vector(3, 4)
print(v1 + v2)
问题描述:
编写一个类Circle
,包含一个属性radius
,使用属性装饰器实现其获取和设置方法,并计算圆的面积。
示例代码:
pythonclass Circle:
def __init__(self, radius):
self._radius = radius
@property
def radius(self):
return self._radius
@radius.setter
def radius(self, radius):
self._radius = radius
def area(self):
return 3.14 * self._radius ** 2
circle = Circle(5)
print(circle.area())
circle.radius = 10
print(circle.area())
问题描述:
编写一个单例类Singleton
,确保在程序中只有一个实例。
示例代码:
pythonclass Singleton:
_instance = None
def __new__(cls, *args, **kwargs):
if not cls._instance:
cls._instance = super(Singleton, cls).__new__(cls, *args, **kwargs)
return cls._instance
singleton1 = Singleton()
singleton2 = Singleton()
print(singleton1 is singleton2)
问题描述:
编写一个工厂类AnimalFactory
,根据给定的类型创建并返回Dog
或Cat
对象。
示例代码:
pythonclass Dog:
def make_sound(self):
return "Woof!"
class Cat:
def make_sound(self):
return "Meow!"
class AnimalFactory:
@staticmethod
def create_animal(animal_type):
if animal_type == "dog":
return Dog()
elif animal_type == "cat":
return Cat()
else:
return None
dog = AnimalFactory.create_animal("dog")
cat = AnimalFactory.create_animal("cat")
print(dog.make_sound())
print(cat.make_sound())
问题描述:
使用requests
库从一个API获取数据,并解析JSON响应,提取其中的某些字段。
示例代码:
pythonimport requests
def fetch_data(api_url):
response = requests.get(api_url)
data = response.json()
return data['desired_field']
api_url = 'https://api.example.com/data'
print(fetch_data(api_url))
问题描述:
编写一个函数,从一个文本文件中读取内容,并将其反转后写入另一个文件。
示例代码:
pythondef reverse_file_content(input_file, output_file):
with open(input_file, 'r') as file:
content = file.read()
with open(output_file, 'w') as file:
file.write(content[::-1])
问题描述:
编写一个函数,设置日志记录,记录程序的运行信息。
示例代码:
pythonimport logging
def setup_logging():
logging.basicConfig(filename='app.log', level=logging.INFO)
logging.info('This is an info message')
setup_logging()
问题描述:
编写一个脚本,接受命令行参数,并打印这些参数。
示例代码:
pythonimport argparse
def parse_args():
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+', help='an integer for the accumulator')
args = parser.parse_args()
print(args.integers)
parse_args()
问题描述:
使用Pillow库编写一个函数,打开一张图像并将其转换为灰度图像。
示例代码:
pythonfrom PIL import Image
def convert_to_grayscale(image_path):
image = Image.open(image_path).convert('L')
image.show()
convert_to_grayscale('example.jpg')
问题描述:
编写一个简单的Web爬虫,从一个网页中提取所有的链接。
示例代码:
pythonimport requests
from bs4 import BeautifulSoup
def get_links(url):
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
links = [a['href'] for a in soup.find_all('a', href=True)]
return links
print(get_links('https://example.com'))
问题描述:
使用Matplotlib库绘制一个简单的折线图,展示某个数据集的趋势。
示例代码:
pythonimport matplotlib.pyplot as plt
def plot_data(data):
plt.plot(data)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')
plt.show()
plot_data([1, 2, 3, 4, 5])
问题描述:
编写一个函数,连接到SQLite数据库,并执行一个简单的查询。
示例代码:
pythonimport sqlite3
def execute_query(db_name, query):
conn = sqlite3.connect(db_name)
cursor = conn.cursor()
cursor.execute(query)
results = cursor.fetchall()
conn.close()
return results
print(execute_query('example.db', 'SELECT * FROM users'))
问题描述:
编写一个函数,使用smtplib
发送一封电子邮件。
示例代码:
pythonimport smtplib
from email.mime.text import MIMEText
def send_email(subject, body, to_email):
from_email = '[email protected]'
password = 'your_password'
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = from_email
msg['To'] = to_email
with smtplib.SMTP_SSL('smtp.example.com', 465) as server:
server.login(from_email, password)
server.sendmail(from_email, to_email, msg.as_string())
send_email('Test Subject', 'This is a test email.', '[email protected]')
问题描述:
使用openpyxl
库编写一个函数,读取Excel文件中的数据,并将其打印出来。
示例代码:
pythonimport openpyxl
def read_excel(file_path):
workbook = openpyxl.load_workbook(file_path)
sheet = workbook.active
for row in sheet.iter_rows(values_only=True):
print(row)
read_excel('example.xlsx')
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!