从基础到进阶,提升你的Python编程能力
通过解决实际问题,你可以巩固语法知识、理解算法逻辑、提升调试技巧,并为面试或项目开发打下坚实基础。本页面精选了多个难度级别的Python训练题,适合自学与教学使用。
编写一个函数,接收一个列表,返回去除重复元素后的新列表(保持原有顺序)。
def remove_duplicates(lst):
seen = set()
result = []
for item in lst:
if item not in seen:
seen.add(item)
result.append(item)
return result
# 示例
print(remove_duplicates([1, 2, 2, 3, 4, 4, 5])) # [1, 2, 3, 4, 5]
编写一个函数,返回斐波那契数列的前n项(n ≥ 1)。
def fibonacci(n):
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
seq = [0, 1]
for i in range(2, n):
seq.append(seq[-1] + seq[-2])
return seq
# 示例
print(fibonacci(7)) # [0, 1, 1, 2, 3, 5, 8]
不使用 collections.Counter,手动实现一个函数统计字符串中每个字符的出现次数。
def count_chars(s):
freq = {}
for char in s:
freq[char] = freq.get(char, 0) + 1
return freq
# 示例
print(count_chars("hello")) # {'h': 1, 'e': 1, 'l': 2, 'o': 1}