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编程的基础!

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部