[实验目的]
- 熟练运用Python运算符;
- 熟练运用Python内置函数;
- 了解lambda表达式作为函数参数的用法;
- 了解列表、元组、字典、集合的概念和基本用法;
- 了解Python函数式编程模式。
[实验和内容]
编写程序,输入任意大的自然数,输出各位数字之和。
def sum_of_digits(number):
# 将输入的数字转换为字符串,然后遍历每一位并求和
digit_sum = sum(int(digit) for digit in str(number))
return digit_sum
# 获取用户输入
user_input = int(input("请输入自然数:"))
# 计算各位数字之和
result = sum_of_digits(user_input)
# 输出结果
print(f"各位数字之和为:{result}")
编写程序,输入一个包含若干整数的列表,输出一个新列表,要求新列表中只包含原列表中的偶数。
def filter_even_numbers(input_list):
# 使用列表推导式过滤偶数
even_numbers = [num for num in input_list if num % 2 == 0]
return even_numbers
# 获取用户输入的整数列表
user_input = input("请输入一个包含若干整数的列表,用空格分隔: ")
# 将用户输入的字符串转换为整数列表
input_list = list(map(int, user_input.split()))
# 调用函数过滤偶数
result = filter_even_numbers(input_list)
# 输出结果
print("原列表:", input_list)
print("只包含偶数的新列表:", result)
编写程序,输入包含若干集合的列表,输出这些集合的并集。要求使用reduce()函数和lambda表达式完成。
from functools import reduce
# 输入包含若干集合的列表
set_list = [
{1, 2, 3},{2, 3, 4}, {3, 4, 5,6},
]
# 使用reduce和lambda计算并集
union_set = reduce(lambda set1, set2: set1.union(set2), set_list)
# 输出结果
print("原集合列表:", set_list)
print("集合的并集:", union_set)