练习题

基础语法 (1-5)

1、计算两个数的和: 编写一个函数,接收两个数字作为参数,返回它们的和。

def   sum(a,b):
return a+b
print(sum(1,2)) #3
print(sum(100,101)) #201



2、判断一个数是否为偶数: 编写一个函数,接收一个数字作为参数,判断它是否为偶数,并返回 True 或 False.
num = input("请输入一个数字:")
num = int(num)
if num % 2 == 0:
print("偶数:",True)
else:
print("奇数:",False)



def ou(number):
#"判断一个数是否为偶数"
return number % 2 == 0 ###偶数返回true,奇数返回false,,,一个判断表达式 ,返回值为true或false
print(ou(10)) #True
print(ou(11)) #False

def ou(number):
return "奇数" if number % 2 == 1 else "偶数"
print(ou(10)) #偶数
print(ou(11)) #奇数

3、计算列表元素的平均值: 编写一个函数,接收一个数字列表作为参数,计算列表元素的平均值,并返回结果。
def   sum1(a,b):        ###这边改为sum1
return a+b
print(sum1(1,2))
print(sum1(100,101))


# num = input("请输入一个数字:")
# num = int(num)
# if num % 2 == 0:
# print("偶数:",True)
# else:
# print("奇数:",False)



# def ou(number):
# #"判断一个数是否为偶数"
# return number % 2 == 0 ###偶数返回true,奇数返回false,,,一个判断表达式 ,返回值为true或false
# print(ou(10))
# print(ou(11))
#
# def ou(number):
# return "奇数" if number % 2 == 1 else "偶数"
# print(ou(10))
# print(ou(11))
x = 0
a = [1,2,3,4,5]
print(len(a))
for i in a:
x += i
print(x)
print("平均数是:",x/len(a))

# def avg(listtest):
# ##使用列表推导式计算和
# total_sum = sum()
# long = len(listtest)
# return total_sum/long
# avg([1,2,3,4,5])

def calculate_average(numbers):
"""计算列表元素的平均值"""
if not numbers:
return 0 # 处理空列表的情况
return sum(numbers) / len(numbers) ##TypeError: sum() missing 1 required positional argument: 'b',,原因是前面定义了一样的函数


print(calculate_average([1, 2, 3, 4, 5])) # 输出: 3.0

4、查找列表中的最大值: 编写一个函数,接收一个数字列表作为参数,找到列表中的最大值,并返回结果。

def find_maximum(numbers):
"""查找列表中的最大值"""
if not numbers:
return None # 处理空列表的情况
return max(numbers)

print(find_maximum([1,5,2,8,3])) # 输出: 8
5、反转字符串: 编写一个函数,接收一个字符串作为参数,返回反转后的字符串。
def reverse_string(string):
"""反转字符串"""
return string[::-1]
print(reverse_string("world")) #dlrow

6、创建一个字典,存储学生姓名和分数:  使用字典存储三个学生的姓名和分数,例如:{"张三": 90, "李四": 85, "王五": 92}。

student_scores = {"张三": 90, "李四": 85, "王五": 92}

7、访问字典中的元素:  打印 "李四" 的分数。

print(student_scores["李四"])  # 输出: 85
 

8、向字典中添加新元素:  添加一个新的学生 "赵六",分数为 88。

student_scores["赵六"] = 88
print(student_scores)  # 输出: {'张三': 90, '李四': 85, '王五': 92, '赵六': 88}

9、创建一个列表,存储 5 个水果名称:

fruits = ["苹果", "香蕉", "橙子", "葡萄", "草莓"]

 

10、向列表中添加新元素:  在列表末尾添加 "西瓜"。

fruits.append("西瓜")
print(fruits)  # 输出: ['苹果', '香蕉', '橙子', '葡萄', '草莓', '西瓜']

 

函数 (11-15)

11、编写一个函数,计算一个数的阶乘:  例如,factorial(5) = 5 * 4 * 3 * 2 * 1 = 120。

def factorial(n):
    """计算阶乘"""
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5))  # 输出: 120

12、编写一个函数,判断一个字符串是否为回文:  回文是指正反 đọc 都一样的字符串,例如 "level"。

def is_palindrome(text):
    """判断是否为回文"""
    return text == text[::-1]

print(is_palindrome("level"))  # 输出: True
print(is_palindrome("hello"))  # 输出: False

 

13、编写一个函数,接收一个列表和一个数字作为参数,返回列表中所有大于该数字的元素:

def filter_greater_than(numbers, threshold):
    """过滤列表中大于指定值的元素"""
    return [n for n in numbers if n > threshold]

print(filter_greater_than([15283], 4))  # 输出: [5, 8]

 

14、编写一个函数,接收两个列表作为参数,返回两个列表的并集:

def union_of_lists(list1, list2):
    """计算两个列表的并集"""
    return list(set(list1) | set(list2))

print(union_of_lists([123], [345]))  # 输出: [1, 2, 3, 4, 5]

 

15、编写一个函数,接收一个字符串作为参数,统计字符串中每个字符出现的次数:

def count_char_frequency(text):
    """统计字符出现频率"""
    frequency = {}
    for char in text:
        frequency[char] = frequency.get(char, 0) + 1
    return frequency

print(count_char_frequency("hello"))  # 输出: {'h': 1, 'e': 1, 'l': 2, 'o': 1}

 

面向对象 (16-20)

16、定义一个名为 `Dog` 的类,包含 `name` 和 `age` 属性,以及 `bark` 方法:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        print("Woof!")

my_dog = Dog("Buddy", 3)
print(my_dog.name)  # 输出: Buddy
my_dog.bark()  # 输出: Woof!

 

17、创建一个 `Dog` 类的实例,名为 `my_dog`,设置 `name` 为 "Buddy",`age` 为 3:

# 见上题代码

 

18、调用 `my_dog` 的 `bark` 方法:

# 见上题代码

 

19、定义一个名为 `Cat` 的类,继承自 `Dog` 类,并重写 `bark` 方法,使其输出 "Meow!":

class Cat(Dog):
    def bark(self):
        print("Meow!")

my_cat = Cat("Whiskers", 2)
my_cat.bark()  # 输出: Meow!

 

20、创建一个 `Cat` 类的实例,名为 `my_cat`,设置 `name` 为 "Whiskers",`age` 为 2,并调用 `bark` 方法:

# 见上题代码


























posted @ 2025-03-06 09:28  往事已成昨天  阅读(10)  评论(0)    收藏  举报