python入门实战经典15题

        每个题目都提供了对应的输入输出说明,以及代码示例和简单的注释,旨在帮助大家理解每个练习的意义和解决方案。

目录

计算数字之和

代码示例

交换变量

代码示例

检查奇偶性

代码示例

子串的最大长度

代码示例

计算列表平均值

代码示例

检查回文字符串

代码示例

最大数查找

代码示例

计算阶乘

代码示例

字符串逆转

代码示例

列表排序

代码示例

检查素数

代码示例

找出列表中重复的元素

代码示例

合并两个有序列表

代码示例

字母频率统计

代码示例

旋转图像

代码示例


计算数字之和

编写一个程序来计算1到10的总和。

输入: 无

输出: 1到10的和

代码示例

total = sum(range(1, 11))
print("Sum of 1 to 10 is:", total)
# sum()函数计算1到10的总和并打印结果。

交换变量

编写一个程序来交换两个变量的值。

输入: 两个变量a和b

输出: 交换后的变量a和b

代码示例

a, b = 5, 10
a, b = b, a
print("a:", a, "b:", b)

检查奇偶性

编写一个程序来检查输入的数字是奇数还是偶数。

输入: 一个整数

输出: "奇数"或"偶数"

代码示例

num = int(input("Enter a number: "))
if num % 2 == 0:
    print(num, "is even.")
else:
    print(num, "is odd.")

子串的最大长度

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。

输入: 一个字符串

输出: 最长子串的长度

代码示例

def length_of_longest_substring(s):
    """找出不含重复字符的最长子串的长度"""
    char_index = {}
    start = 0
    max_length = 0
    for i, char in enumerate(s):
        if char in char_index and start <= char_index[char]:
            start = char_index[char] + 1
        else:
            max_length = max(max_length, i - start + 1)
        char_index[char] = i
    return max_length

s = "abcabcbb"
print("最长子串的长度:", length_of_longest_substring(s))

计算列表平均值

编写一个程序来计算给定列表中数字的平均值。

输入: 一个数字列表

输出: 列表的平均值

代码示例

numbers = [2, 3, 5, 7, 11, 13, 17, 19]
average = sum(numbers) / len(numbers)
print("The average is:", average)

检查回文字符串

编写一个程序来检查输入的字符串是否为回文。

输入: 一个字符串

输出: "是回文"或"不是回文"

代码示例

text = input("Enter a string: ")
if text == text[::-1]:
    print(text, "yes")
else:
    print(text, "no")

最大数查找

编写一个程序来找出并打印列表中的最大数字。

输入: 一个数字列表

输出: 列表中的最大数字

代码示例

numbers = [3, 6, 2, 8, 4, 10, 15, 1]
max_number = max(numbers)
print("The largest number is:", max_number)

计算阶乘

编写一个函数来计算并返回一个数字的阶乘。

输入: 一个整数n

输出: n的阶乘

代码示例

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)
n = 5
print("Factorial of", n, "is:", factorial(n))

字符串逆转

创建一个函数,接收一个字符串并返回其反转后的字符串。

输入: 一个字符串

输出: 反转后的字符串

代码示例

def reverse_string(s):
    return s[::-1]
s = "Hello World"
print("Reversed string:", reverse_string(s))

列表排序

编写一个程序,使用冒泡排序算法对列表进行排序。

输入: 一个数字列表

输出: 排序后的列表

代码示例

def bubble_sort(lst):
    n = len(lst)
    for i in range(n-1):
        for j in range(0, n-i-1):
            if lst[j] > lst[j+1]:
                lst[j], lst[j+1] = lst[j+1], lst[j]
    return lst

numbers = [64, 34, 25, 12, 22, 11, 90]
print("Sorted list:", bubble_sort(numbers))

检查素数

编写一个函数来检查给定的数字是否为素数。

输入: 一个整数n

输出: 如果n是素数则输出"是素数",否则输出"不是素数"

代码示例

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

n = 29
print(n, "是素数" if is_prime(n) else "不是素数")

找出列表中重复的元素

给定一个包含整数的列表,找出所有重复的元素。

输入: 一个整数列表

输出: 一个包含重复元素的列表

代码示例

def find_duplicates(lst):
    """找出列表中的重复元素"""
    seen = set()
    duplicates = set()
    for num in lst:
        if num in seen:
            duplicates.add(num)
        else:
            seen.add(num)
    return list(duplicates)

numbers = [1, 2, 3, 2, 1, 5, 6, 5, 5, 5]
print("重复的元素:", find_duplicates(numbers))

合并两个有序列表

编写一个函数来合并两个有序列表,并返回一个新的有序列表。

输入: 两个有序整数列表

输出: 一个新的有序整数列表,包含两个输入列表中的所有元素

代码示例

def merge_sorted_lists(lst1, lst2):
    """合并两个有序列表"""
    i, j = 0, 0
    merged = []
    while i < len(lst1) and j < len(lst2):
        if lst1[i] < lst2[j]:
            merged.append(lst1[i])
            i += 1
        else:
            merged.append(lst2[j])
            j += 1
    # 添加剩余的元素
    merged.extend(lst1[i:])
    merged.extend(lst2[j:])
    return merged

list1 = [1, 3, 5]
list2 = [2, 4, 6]
print("合并后的列表:", merge_sorted_lists(list1, list2))

字母频率统计

编写一个函数来计算并返回给定字符串中每个字母的频率。

输入: 一个字符串

输出: 一个字典,键为字母,值为对应的频率

代码示例

from collections import defaultdict

def letter_frequency(text):
    """计算字符串中每个字母的频率"""
    frequency = defaultdict(int)
    for letter in text:
        if letter.isalpha():
            frequency[letter.lower()] += 1
    return dict(frequency)

text = "Hello World"
print("字母频率:", letter_frequency(text))

旋转图像

给定一个n × n的二维矩阵,代表一个图像。将图像顺时针旋转90度。

输入: 一个n × n的二维矩阵

输出: 旋转后的n × n的二维矩阵

代码示例

def rotate_image(matrix):
    """顺时针旋转图像90度"""
    n = len(matrix)
    for i in range(n // 2):
        for j in range(i, n - 1 - i):
            temp = matrix[i][j]
            matrix[i][j] = matrix[n - 1 - j][i]
            matrix[n - 1 - j][i] = matrix[n - 1 - i][n - 1 - j]
            matrix[n - 1 - i][n - 1 - j] = matrix[j][n - 1 - i]
            matrix[j][n - 1 - i] = temp
    return matrix

matrix = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
]
print("旋转后的图像:", rotate_image(matrix))

结语

        这些题目覆盖了多种编程概念,包括循环、条件语句、函数、递归、列表处理、字符串操作、算法思想等。通过实践这些练习,不仅会加深对Python语法的理解,还会学会如何结构化地思考和解决问题。

----------------------

看到这了 点个赞再走吧~

相关推荐

  1. python入门实战经典15

    2023-12-25 06:14:05       31 阅读
  2. 面试经典150(15-19)

    2023-12-25 06:14:05       40 阅读
  3. 面试经典150(14)

    2023-12-25 06:14:05       39 阅读
  4. 面试经典150(10-13)

    2023-12-25 06:14:05       34 阅读
  5. C++经典150

    2023-12-25 06:14:05       11 阅读
  6. 面试经典---15.三数之和

    2023-12-25 06:14:05       34 阅读
  7. 面试经典150(20)

    2023-12-25 06:14:05       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-25 06:14:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-25 06:14:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-25 06:14:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-25 06:14:05       18 阅读

热门阅读

  1. SpringBoot Gateway整合过程中的问题

    2023-12-25 06:14:05       50 阅读
  2. Spring DefaultListableBeanFactory源码分析

    2023-12-25 06:14:05       41 阅读
  3. Python jupyter notebook 自定义魔术方法

    2023-12-25 06:14:05       30 阅读
  4. conda镜像源,Jupyter内核配置

    2023-12-25 06:14:05       38 阅读
  5. EtherCAT主站SOEM -- 11 -- EtherCAT从站 XML 文件解析

    2023-12-25 06:14:05       35 阅读
  6. 【PostgreSQL表增加/删除字段是否会重写表】

    2023-12-25 06:14:05       34 阅读
  7. C#编程简单应用程序批量修改文件名2.0

    2023-12-25 06:14:05       42 阅读
  8. Node.js教程-mysql模块

    2023-12-25 06:14:05       36 阅读