考点:函数参数传参、求和、奇数、偶数、输入输出、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语言精简的初衷。

相关文章
|
3天前
|
索引 Python
python操作符或函数与数据类型不兼容
【7月更文挑战第11天】
9 1
|
1天前
|
缓存 测试技术 Python
Python中的装饰器:优雅地增强函数功能
在Python编程中,装饰器是一种强大的工具,它能够在不改变函数本身的情况下,动态地增强其功能。本文将深入探讨装饰器的工作原理、常见用法以及如何利用装饰器提高代码的可重用性和可维护性。
|
2天前
|
资源调度 计算机视觉 Python
`scipy.ndimage`是SciPy库中的一个子模块,它提供了许多用于处理n维数组(通常是图像)的函数。
`scipy.ndimage`是SciPy库中的一个子模块,它提供了许多用于处理n维数组(通常是图像)的函数。
7 0
|
2天前
|
Python
`scipy.signal`模块是SciPy库中的一个子模块,它提供了信号处理、滤波、频谱分析等功能。这个模块包含了许多用于信号处理的函数和类,其中`butter()`和`filtfilt()`是两个常用的函数。
`scipy.signal`模块是SciPy库中的一个子模块,它提供了信号处理、滤波、频谱分析等功能。这个模块包含了许多用于信号处理的函数和类,其中`butter()`和`filtfilt()`是两个常用的函数。
10 0
|
2天前
|
数据可视化 Linux 数据格式
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
5 0
|
2天前
|
Python
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
11 0
|
2天前
|
SQL Java C++
Python代码示例简单的print()函数使用
Python代码示例简单的print()函数使用
4 0
|
2天前
|
存储 Python
`input()` 函数是 Python 中的一个内置函数,用于从用户那里获取输入。
`input()` 函数是 Python 中的一个内置函数,用于从用户那里获取输入。
4 0
|
2天前
|
Unix Linux C语言
`ctypes`是Python的一个标准库,它提供了C兼容的数据类型,并允许在Python中调用共享库中的函数。
`ctypes`是Python的一个标准库,它提供了C兼容的数据类型,并允许在Python中调用共享库中的函数。
4 0
|
2天前
|
机器学习/深度学习 缓存 分布式计算
我们来看一个简单的Python代码示例,它使用`joblib`模块来并行执行一个函数:
我们来看一个简单的Python代码示例,它使用`joblib`模块来并行执行一个函数:
7 0