前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >考点:函数参数传参、求和、奇数、偶数、输入输出、range步长灵活使用【Python习题04】

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

作者头像
刘金玉编程
发布2021-11-30 15:44:36
7210
发布2021-11-30 15:44:36
举报
文章被收录于专栏:编程创造城市编程创造城市

考点:

函数参数传参、求和、奇数、偶数、输入输出、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)

本节源代码

代码语言:javascript
复制
# -*- coding: utf-8 -*-
"""
@File文件    :   ljytest75
@Time创建时间    :    2021/11/25
@Author作者  :   刘金玉
@Contact联系方式 :   selidev@qq.com   编程创造城市 http://bcczcs.com
注:作者信息请保留!否则必究法律责任!
刘金玉编程,编程创造城市!
作者微信号:selidev
作者抖音号:selidev
作者B站:刘金玉编程
微信公众号:编程创造城市
题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/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语言精简的初衷。

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

本文分享自 编程创造城市 微信公众号,前往查看

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

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

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