Python作为一种广泛使用的编程语言,因其简洁、易学、功能强大等特点受到众多开发者的喜爱。入门Python编程,实战练习是不可或缺的一环。以下,我将为你推荐50个经典实战题目,帮助你从入门到精通。
1. 计算阶乘
题目描述:编写一个函数,计算一个非负整数的阶乘。
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
2. 列表反转
题目描述:编写一个函数,实现列表的反转。
def reverse_list(lst):
return lst[::-1]
3. 字符串替换
题目描述:编写一个函数,实现字符串的替换功能。
def replace_string(s, old, new):
return s.replace(old, new)
4. 求最大公约数
题目描述:编写一个函数,计算两个数的最大公约数。
def gcd(a, b):
while b:
a, b = b, a % b
return a
5. 字符串排序
题目描述:编写一个函数,对字符串中的单词进行排序。
def sort_words(s):
return ' '.join(sorted(s.split()))
6. 字符串反转
题目描述:编写一个函数,实现字符串的反转。
def reverse_string(s):
return s[::-1]
7. 判断素数
题目描述:编写一个函数,判断一个数是否为素数。
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
8. 求幂
题目描述:编写一个函数,计算一个数的幂。
def power(x, n):
if n == 0:
return 1
elif n % 2 == 0:
return power(x**2, n//2)
else:
return x * power(x, n-1)
9. 字符串查找
题目描述:编写一个函数,查找一个字符串在另一个字符串中出现的次数。
def count_substring(s, sub):
count = 0
start = 0
while True:
start = s.find(sub, start)
if start == -1:
break
count += 1
start += 1
return count
10. 列表去重
题目描述:编写一个函数,实现列表的去重。
def remove_duplicates(lst):
return list(dict.fromkeys(lst))
11. 判断回文
题目描述:编写一个函数,判断一个字符串是否为回文。
def is_palindrome(s):
return s == s[::-1]
12. 求和
题目描述:编写一个函数,计算列表中所有元素的和。
def sum_list(lst):
return sum(lst)
13. 列表切片
题目描述:编写一个函数,实现列表的切片功能。
def slice_list(lst, start, end, step=1):
return lst[start:end:step]
14. 字符串连接
题目描述:编写一个函数,实现字符串的连接。
def join_strings(*args):
return ''.join(args)
15. 字符串查找子串
题目描述:编写一个函数,查找一个字符串在另一个字符串中出现的所有位置。
def find_substring(s, sub):
return [i for i in range(len(s)) if s.startswith(sub, i)]
16. 列表排序
题目描述:编写一个函数,对列表进行排序。
def sort_list(lst):
return sorted(lst)
17. 字符串长度
题目描述:编写一个函数,计算字符串的长度。
def string_length(s):
return len(s)
18. 列表反转
题目描述:编写一个函数,实现列表的反转。
def reverse_list(lst):
return lst[::-1]
19. 字符串替换
题目描述:编写一个函数,实现字符串的替换功能。
def replace_string(s, old, new):
return s.replace(old, new)
20. 求最大公约数
题目描述:编写一个函数,计算两个数的最大公约数。
def gcd(a, b):
while b:
a, b = b, a % b
return a
21. 字符串排序
题目描述:编写一个函数,对字符串中的单词进行排序。
def sort_words(s):
return ' '.join(sorted(s.split()))
22. 字符串反转
题目描述:编写一个函数,实现字符串的反转。
def reverse_string(s):
return s[::-1]
23. 判断素数
题目描述:编写一个函数,判断一个数是否为素数。
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
24. 求幂
题目描述:编写一个函数,计算一个数的幂。
def power(x, n):
if n == 0:
return 1
elif n % 2 == 0:
return power(x**2, n//2)
else:
return x * power(x, n-1)
25. 字符串查找
题目描述:编写一个函数,查找一个字符串在另一个字符串中出现的次数。
def count_substring(s, sub):
count = 0
start = 0
while True:
start = s.find(sub, start)
if start == -1:
break
count += 1
start += 1
return count
26. 列表去重
题目描述:编写一个函数,实现列表的去重。
def remove_duplicates(lst):
return list(dict.fromkeys(lst))
27. 判断回文
题目描述:编写一个函数,判断一个字符串是否为回文。
def is_palindrome(s):
return s == s[::-1]
28. 求和
题目描述:编写一个函数,计算列表中所有元素的和。
def sum_list(lst):
return sum(lst)
29. 列表切片
题目描述:编写一个函数,实现列表的切片功能。
def slice_list(lst, start, end, step=1):
return lst[start:end:step]
30. 字符串连接
题目描述:编写一个函数,实现字符串的连接。
def join_strings(*args):
return ''.join(args)
31. 字符串查找子串
题目描述:编写一个函数,查找一个字符串在另一个字符串中出现的所有位置。
def find_substring(s, sub):
return [i for i in range(len(s)) if s.startswith(sub, i)]
32. 列表排序
题目描述:编写一个函数,对列表进行排序。
def sort_list(lst):
return sorted(lst)
33. 字符串长度
题目描述:编写一个函数,计算字符串的长度。
def string_length(s):
return len(s)
34. 列表反转
题目描述:编写一个函数,实现列表的反转。
def reverse_list(lst):
return lst[::-1]
35. 字符串替换
题目描述:编写一个函数,实现字符串的替换功能。
def replace_string(s, old, new):
return s.replace(old, new)
36. 求最大公约数
题目描述:编写一个函数,计算两个数的最大公约数。
def gcd(a, b):
while b:
a, b = b, a % b
return a
37. 字符串排序
题目描述:编写一个函数,对字符串中的单词进行排序。
def sort_words(s):
return ' '.join(sorted(s.split()))
38. 字符串反转
题目描述:编写一个函数,实现字符串的反转。
def reverse_string(s):
return s[::-1]
39. 判断素数
题目描述:编写一个函数,判断一个数是否为素数。
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
40. 求幂
题目描述:编写一个函数,计算一个数的幂。
def power(x, n):
if n == 0:
return 1
elif n % 2 == 0:
return power(x**2, n//2)
else:
return x * power(x, n-1)
41. 字符串查找
题目描述:编写一个函数,查找一个字符串在另一个字符串中出现的次数。
def count_substring(s, sub):
count = 0
start = 0
while True:
start = s.find(sub, start)
if start == -1:
break
count += 1
start += 1
return count
42. 列表去重
题目描述:编写一个函数,实现列表的去重。
def remove_duplicates(lst):
return list(dict.fromkeys(lst))
43. 判断回文
题目描述:编写一个函数,判断一个字符串是否为回文。
def is_palindrome(s):
return s == s[::-1]
44. 求和
题目描述:编写一个函数,计算列表中所有元素的和。
def sum_list(lst):
return sum(lst)
45. 列表切片
题目描述:编写一个函数,实现列表的切片功能。
def slice_list(lst, start, end, step=1):
return lst[start:end:step]
46. 字符串连接
题目描述:编写一个函数,实现字符串的连接。
def join_strings(*args):
return ''.join(args)
47. 字符串查找子串
题目描述:编写一个函数,查找一个字符串在另一个字符串中出现的所有位置。
def find_substring(s, sub):
return [i for i in range(len(s)) if s.startswith(sub, i)]
48. 列表排序
题目描述:编写一个函数,对列表进行排序。
def sort_list(lst):
return sorted(lst)
49. 字符串长度
题目描述:编写一个函数,计算字符串的长度。
def string_length(s):
return len(s)
50. 列表反转
题目描述:编写一个函数,实现列表的反转。
def reverse_list(lst):
return lst[::-1]
通过以上50个经典实战题目,相信你已经对Python编程有了更深入的了解。在学习和练习的过程中,不断积累经验,逐步提高自己的编程水平。祝你学习愉快!
