25道Python练手题(附详细答案)
Python是一门非常适合初学者的编程语言,凭借其简单的语法和强大的功能,越来越多的人开始学习Python。为了帮助大家更好地掌握Python编程,这里整理了25道练手题目,附上详细答案和代码示例。
1. 计算两个数的和
题目:编写一个函数,接受两个参数,返回它们的和。
def add(x, y):
return x + y
print(add(5, 3)) # 输出:8
2. 判定一个数是否为偶数
题目:编写一个函数,判断输入的数是否为偶数。
def is_even(num):
return num % 2 == 0
print(is_even(4)) # 输出:True
print(is_even(5)) # 输出:False
3. 计算阶乘
题目:编写一个函数,计算并返回一个整数的阶乘。
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
print(factorial(5)) # 输出:120
4. 列表去重
题目:编写一个函数,去掉列表中的重复元素。
def remove_duplicates(lst):
return list(set(lst))
print(remove_duplicates([1, 2, 2, 3, 4, 4])) # 输出:[1, 2, 3, 4]
5. 字符串反转
题目:编写一个函数,反转输入的字符串。
def reverse_string(s):
return s[::-1]
print(reverse_string("Hello")) # 输出:olleH
6. 斐波那契数列
题目:编写一个函数,输出斐波那契数列的前n项。
def fibonacci(n):
fib_list = []
a, b = 0, 1
for _ in range(n):
fib_list.append(a)
a, b = b, a + b
return fib_list
print(fibonacci(10)) # 输出:前10项斐波那契数列
7. 判断质数
题目:编写一个函数,判断一个数是否为质数。
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
print(is_prime(11)) # 输出:True
print(is_prime(12)) # 输出:False
8. 求列表中最大值
题目:编写一个函数,求列表中的最大值。
def max_in_list(lst):
return max(lst)
print(max_in_list([1, 3, 2])) # 输出:3
9. 列表排序
题目:编写一个函数,对列表进行升序排序。
def sort_list(lst):
return sorted(lst)
print(sort_list([3, 1, 2])) # 输出:[1, 2, 3]
10. 确定回文字符串
题目:编写一个函数,判断输入字符串是否为回文。
def is_palindrome(s):
return s == s[::-1]
print(is_palindrome("radar")) # 输出:True
print(is_palindrome("hello")) # 输出:False
11. 计算平方和
题目:编写一个函数,计算1到n的平方和。
def sum_of_squares(n):
return sum(i**2 for i in range(1, n + 1))
print(sum_of_squares(3)) # 输出:14
12. 合并字典
题目:编写一个函数,合并两个字典。
def merge_dicts(dict1, dict2):
return {**dict1, **dict2}
print(merge_dicts({'a': 1}, {'b': 2})) # 输出:{'a': 1, 'b': 2}
13. 统计字符串中每个字符出现的次数
题目:编写一个函数,统计字符串中每个字符出现的次数。
def char_count(s):
counts = {}
for char in s:
counts[char] = counts.get(char, 0) + 1
return counts
print(char_count("hello")) # 输出:{'h': 1, 'e': 1, 'l': 2, 'o': 1}
14. 读取文件内容
题目:编写一个函数,读取文本文件的内容并返回。
def read_file(file_path):
with open(file_path, 'r') as f:
return f.read()
# 使用示例:假设有一个test.txt文件,内容为Hello
# print(read_file('test.txt')) # 输出:Hello
15. 判断字符串中是否有数字
题目:编写一个函数,判断字符串中是否含有数字。
def contains_digit(s):
return any(char.isdigit() for char in s)
print(contains_digit("abc123")) # 输出:True
print(contains_digit("abc")) # 输出:False
16. 信息格式化
题目:编写一个函数,将用户输入的信息格式化为一定格式。
def format_info(name, age):
return f"Name: {name}, Age: {age}"
print(format_info("Alice", 30)) # 输出:Name: Alice, Age: 30
17. 获取当前时间
题目:编写一个函数,返回当前的日期和时间。
from datetime import datetime
def current_datetime():
return datetime.now()
print(current_datetime()) # 输出当前日期和时间
18. 统计列表中元素出现的次数
题目:编写一个函数,统计列表中某个元素出现的次数。
def count_occurrences(lst, element):
return lst.count(element)
print(count_occurrences([1, 2, 1, 3, 1], 1)) # 输出:3
19. 计算字符串长度
题目:编写一个函数,计算字符串的长度。
def string_length(s):
return len(s)
print(string_length("Hello")) # 输出:5
20. 移除列表中的特定元素
题目:编写一个函数,移除列表中的特定元素。
def remove_element(lst, element):
return [x for x in lst if x != element]
print(remove_element([1, 2, 3, 1, 4], 1)) # 输出:[2, 3, 4]
21. 判断年份是否为闰年
题目:编写一个函数,判断给定的年份是否为闰年。
def is_leap_year(year):
return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
print(is_leap_year(2020)) # 输出:True
print(is_leap_year(2021)) # 输出:False
22. 计算列表元素之和
题目:编写一个函数,计算列表中所有元素的和。
def sum_of_list(lst):
return sum(lst)
print(sum_of_list([1, 2, 3, 4])) # 输出:10
23. 列出所有命名参数
题目:编写一个函数,接受不定数量的命名参数。
def print_args(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_args(name="Alice", age=30) # 输出:name: Alice age: 30
24. 判断字符串是否全为字母
题目:编写一个函数,判断字符串中是否全部为字母。
def is_all_alpha(s):
return s.isalpha()
print(is_all_alpha("Hello")) # 输出:True
print(is_all_alpha("Hello123")) # 输出:False
25. 将字符串转为大写
题目:编写一个函数,将字符串转为大写。
def to_upper(s):
return s.upper()
print(to_upper("hello")) # 输出:HELLO
以上就是25道Python练手题及其详细答案。这些题目涵盖了基本的Python知识,包括函数定义、字符串和列表操作、条件判断等内容,适合初学者练习。希望能够帮助大家更好地掌握Python编程的基础!