考点:函数参数传参、求和、奇数、偶数、输入输出、range步长灵活使用【Python习题04】

简介: 考点:函数参数传参、求和、奇数、偶数、输入输出、range步长灵活使用【Python习题04】

考点:

函数参数传参、求和、奇数、偶数、输入输出、range步长灵活使用【Python习题04】

题目:

编写一个函数,

输入n为偶数时,

调用函数求1/2+1/4+...+1/n,

当输入n为奇数时,

调用函数1/1+1/3+...+1/n

程序输入效果:

请输入一个数n:6

0.9166666666666666

请输入一个数n:6

处理偶数情况

0.9166666666666666

解题思路:

  1. 使用输入函数input为一个整数n赋值,这里注意要转换数据类型
  2. 单独为奇数和偶数情况写一个函数来求和,但实际上思路是差不多的。建议可以使用range的步长特点就可以把规律做出来。
  3. 也可以自己通过循环方式把求和做出来,就如同本题第一种方法一样。这里注意的是变量定义的巧妙运用。
  4. python中的函数可以直接通过参数的形式传参,但是要在新的函数中定义一个传过来的参数要来处理成函数的形式一样去调用。例如本题第二种方法:fp(n)

本节源代码

# 第一种方法,这里建议可以按照题意去将奇偶数不同情况放到不同函数中
def mycalc(n):
    fenmu = 2 if n % 2 == 0 else 1
    sum = 0
    while fenmu <= n:
        sum += 1 / fenmu
        fenmu += 2
    return sum
n = int(input("请输入一个数n:"))
while n < 1:
    n = int(input("请输入一个数n:"))
print(mycalc(n))
# 第二种方法
#奇数
def fodd(n):
    print("处理奇数情况")
    s=0
    for i in range(1,n+1,2):
       s+=1/i
    return s
#偶数
def feven(n):
    print("处理偶数情况")
    s=0
    for i in range(2,n+1,2):
        s+=1/i
    return s
def fcall(fp,n):
    return fp(n)
if __name__ == '__main__':
    n=int(input("请输入一个数n:"))
    if n%2==0:
        print(fcall(feven,n))
    else:
        print(fcall(fodd,n))

总结:

这是一题函数映射方式的运用,range函数的巧妙运用。给我们带来的思考是在平时写代码时候,需要灵活使用已经学过的函数,了解已经用过的函数的功能,在写新的程序的时候考虑是否可以使用函数的某些方式来巧妙达到目标,这也是python语言精简的初衷。

相关文章
|
19天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
123 67
|
12天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
38 18
|
4天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
30 8
|
13天前
|
Python
Python中的函数
Python中的函数
29 8
|
20天前
|
监控 测试技术 数据库
Python中的装饰器:解锁函数增强的魔法####
本文深入探讨了Python语言中一个既强大又灵活的特性——装饰器(Decorator),它以一种优雅的方式实现了函数功能的扩展与增强。不同于传统的代码复用机制,装饰器通过高阶函数的形式,为开发者提供了在不修改原函数源代码的前提下,动态添加新功能的能力。我们将从装饰器的基本概念入手,逐步解析其工作原理,并通过一系列实例展示如何利用装饰器进行日志记录、性能测试、事务处理等常见任务,最终揭示装饰器在提升代码可读性、维护性和功能性方面的独特价值。 ####
|
27天前
|
Python
Python中的`range`函数与负增长
在Python中,`range`函数用于生成整数序列,支持正向和负向增长。本文详细介绍了如何使用`range`生成负增长的整数序列,并提供了多个实际应用示例,如反向遍历列表、生成倒计时和计算递减等差数列的和。通过这些示例,读者可以更好地掌握`range`函数的使用方法。
41 5
|
27天前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
13天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
12天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
19天前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
131 59