前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >30天学习Python系列第11篇:函数内容练习题参考答案

30天学习Python系列第11篇:函数内容练习题参考答案

作者头像
MegaQi
发布2023-10-21 19:38:32
2530
发布2023-10-21 19:38:32
举报

答应关注着和打卡互动学习营的小伙伴的,对于上难度后的参考答案如约而来。注意 答案均是用的所学知识所给出的其中一种参考。并不是唯一或者最优,所以不必过于纠结。重要是学习知识点并在将来能得以熟练应用。

另外知识点整理验证,笔者大奇真心会耗费很大精力。目前大部分文章尽量做到干货,无软硬广告,更没有任何保留。所以如果你觉的值得的话,只盼经常三连推荐。

「练习 1.1」 声明一个函数名为 add_two_numbers。它接收两个数字参数,然后经过求和计算返回其值

代码语言:javascript
复制
def add_two_numbers(num1, num2):
    sum = num1 + num2
    return sum
    
print("求和2 + 3 =", add_two_numbers(2, 3))

「练习 1.2」 圆的面积的计算方法如下:Area = π x r x r。写一个函数计算 area_of_circle

代码语言:javascript
复制
def area_of_circle(r):
    pi = 3.14
    return pi * r * r

print("半径为2的圆面积:", area_of_circle(2))

「练习 1.3」 编写一个名为 add_all_nums 的函数,它接受任意数量的参数并对所有参数求和。要求检查是否所有列表项都是数字类型。如果没有则需要给出合适返回提示。

代码语言:javascript
复制
def add_all_nums(*nums):
    total = 0
    for num in nums:
        total = total + num
    return total

print("任意参数求和:", add_all_nums(1, 2, 3, 4, 5))

「练习 1.4」 摄氏度°C可以转换为华氏度°F,使用以下公式为 °F =(°C x 9/5) + 32。写一个函数将°C转换为°F, 此函数名为 convert_celsius_to_fahrenheit

代码语言:javascript
复制
def convert_celsius_to_fahrenheit(c_value):
    f_value = c_value * 9 / 5 + 32
    return f_value

print("°F = ", convert_celsius_to_fahrenheit(10))

「练习 1.5」 编写一个名为 check_season 的函数,它接受一个月份参数并返回其对应的季节:秋季、冬季、春季或夏季

代码语言:javascript
复制
def check_season(month):
    if month in [1, 2, 3]:
        return "春季"
    elif month >= 4 and month <= 6:
        return "夏季"
    elif month == 7 or month == 8 or month == 9:
        return "秋季"
    else:
        return "冬季"

month = 7
print(f"{month}月属于:", check_season(month))

「练习 1.6」 声明一个名为 print_list 的函数。它接受一个列表作为参数,并输出列表中的每个元素

代码语言:javascript
复制
def print_list(items):
    print("列表打印:")
    for item in items:
        print(item)

print_list(["item1", "item2", "item3"])

「练习 1.7」 声明一个名为 reverse_list 的函数。它接受一个数组作为参数,并返回数组的反向(使用循环)

代码语言:javascript
复制
def reverse_list(flist):
    length = len(flist)
    rlist = []
    while length > 0:
        length = length - 1
        rlist.append(flist[length])
    return rlist

print("列表倒叙1:", reverse_list([1, 2, 3, 4, 5]))
print("列表倒叙2:", reverse_list(["A", "B", "C"]))

「练习 1.8」 声明一个名为 capitalize_list_items 的函数。它接受一个列表作为参数,并返回一个大写的项目列表

代码语言:javascript
复制
def capitalize_list_items(input_list):
    capital_list = []
    for item in input_list:
        capital_list.append(str(item).capitalize())
    return capital_list


print("小写转大写:", capitalize_list_items(["a", "c", "e"]))

「练习 1.9」 声明一个名为 add_item 的函数。它接受一个列表和一个实参数。它返回一个末尾添加了项目的列表

代码语言:javascript
复制
def add_item(items, item):
    # return items + [item]
    items.append(item)
    return items

food_staff = ['Potato', 'Tomato', 'Mango', 'Milk'];
print(add_item(food_staff, 'Meat'))
numbers = [2, 3, 7, 9]
print(add_item(numbers, 5))

「练习 1.10」 声明一个名为 remove_item 的函数。它接受一个列表和一个项参数。它返回一个删除了项目的列表

代码语言:javascript
复制
def remove_item(items, item):
    items.remove(item)
    return items

food_staff = ['Potato', 'Tomato', 'Mango', 'Milk']
print(remove_item(food_staff, 'Mango'))
numbers = [2, 3, 7, 9]
print(remove_item(numbers, 3))

「练习 1.11」 声明一个名为 sum_all_numbers 的函数。它接受一个number参数并将该范围内的所有数字相加

代码语言:javascript
复制
def sum_all_numbers(num):
    sum = 0
    for i in range(1, num + 1):
        sum = sum + i
    return sum

print("5范围内数和:", sum_all_numbers(5))
print("10范围内数和:", sum_all_numbers(10))
print("100范围内数和:", sum_all_numbers(100))

「练习 1.12」 声明一个名为 sum_of_odds 的函数。它接受一个数字参数,并将该范围内的所有奇数相加

代码语言:javascript
复制
def sum_of_odds(num):
    sum = 0
    for i in range(1, num + 1):
        if i % 2 == 1:
            sum = sum + i
    return sum

print("所有奇数相加:", sum_of_odds(5))

「练习 1.13」 声明一个名为 sum_of_even 的函数。它接受一个数字参数,并将该范围内的所有偶数相加

代码语言:javascript
复制
def sum_of_even(num):
    sum = 0
    for i in range(1, num + 1):
        if i % 2 == 0:
            sum = sum + i
    return sum

print("所有偶数相加:", sum_of_even(5))

「练习 2.1」 声明一个名为 evens_and_odds 的函数。它取一个正整数作为参数,计算数字中偶数和奇数的个数

代码语言:javascript
复制
def evens_and_odds(num):
    i = 1  # 正整数不包括零
    odds_count = 0
    even_count = 0
    while i <= num:
        if i % 2 == 0:
            even_count += 1
        else:
            odds_count += 1
        i = i + 1
    return even_count, odds_count

event, odds = evens_and_odds(100)
print("奇数的个数是", event)
print("偶数的个数是", odds)

「练习 2.2」 调用函数 factorial ,它接受一个整数作为参数并返回这个数的阶乘

代码语言:javascript
复制
def factorial(num):
    calculate = 1
    for i in range(2, num + 1):
        calculate = calculate * i
    return calculate
    
test_num = 5
print(f"{test_num}的阶乘:", factorial(test_num))

「练习 2.3」 调用自定义函数 is_empty,它接受一个参数并检查它是否为空

代码语言:javascript
复制
def is_empty(obj):
    # 因为题目中未指明具体类型,所以仅举例几个类型做为判断,实际的应用一般都会预期的类型
    if type(obj) is str:
        return obj == ''
    elif type(obj) == list:
        return len(obj) == 0
    elif type(obj) == int:
        return obj == 0
    else:
        return "未支持的类型"

print("对象是否为空:", is_empty(''))
print("对象是否为空:", is_empty('python'))
print("对象是否为空:", is_empty([]))
print("对象是否为空:", is_empty([1, 2, 3]))
print("对象是否为空:", is_empty(1.22))

「练习 3.1」 编写一个名为 is_prime 的函数,它检查一个数字是否是素数

代码语言:javascript
复制
def is_prime(num):
    # 素数又叫质数,指的是大于1的整数中,只能被1和这个数本身整除的数。
    for i in range(2, num):
        if num % i == 0:
            return False
    return True

print("1是否为素数:", is_prime(1))
print("9是否为素数:", is_prime(9))
print("11是否为素数:", is_prime(11))

「练习 3.2」 编写一个函数来检查列表中是否所有项都是唯一

代码语言:javascript
复制
def is_unique(items):
    # 方式一: 循环用list内置count统计
    # for item in items:
    #     if items.count(item) > 1:
    #         return False
    # return True

    # 方式二: 利用set不去重
    if len(items) == len(set(items)):
        return True
    else:
        return False

print("检查列表是否唯一", is_unique([1, 2, 3, 4, 5, 6]))
print("检查列表是否唯一", is_unique([1, 2, 3, 4, 3, 6]))

「练习 3.3」 编写一个函数来检查列表中的所有项是否都是相同的数据类型

代码语言:javascript
复制
def is_same_type(ls):
    type_mark = type(ls[0])
    for i in range(1, len(ls)):
        if type_mark is not type(ls[i]):
            return False
    return True

print("检查是否均为同类型", is_same_type([1, 2, 3, 4, 5]))
print("检查是否均为同类型", is_same_type([1, 2, "test", 0.2]))
print("检查是否均为同类型", is_same_type(['Beijing', "Shanghai", "Shenzhen"]))

以上基本的训练题其实都很经典。说不上哪个就是测试开发初级面试题哦

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 非典型性程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档