鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

[技术交流] Python:每日一题 15(答题领鱼币)

  [复制链接]
发表于 2017-4-5 10:34:27 | 显示全部楼层
def peven(n):
    i = 0
    s = 0.0
    for i in range(2,n + 1,2):
        s += 1.0 / i
    return s


def podd(n):
    s = 0.0
    for i in range(1, n + 1,2):
        s += 1 / i
    return s


def dcall(fp,n):
    s = fp(n)
    return s


if __name__ == '__main__':
    n = int(input('input a number:\n'))
    if n % 2 == 0:
        sum = dcall(peven,n)
    else:
        sum = dcall(podd,n)
    print (sum)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 12:44:42 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-5 14:35:56 | 显示全部楼层
本帖最后由 shigure_takimi 于 2017-4-5 14:38 编辑
def f(n):
    if n > 0:
        total = 0
        if n % 2 == 0: #偶数
            for i in range(2, n + 1, 2):
                total += 1 / i
        else:
            for i in range(1, n + 1, 2):
                total += 1 / i
        return total
    else:
        return None


for i in range(11):
    print(i, f(i))

##    Output:
##        0 None
##        1 1.0
##        2 0.5
##        3 1.3333333333333333
##        4 0.75
##        5 1.5333333333333332
##        6 0.9166666666666666
##        7 1.676190476190476
##        8 1.0416666666666665
##        9 1.7873015873015872
##        10 1.1416666666666666

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 14:41:39 | 显示全部楼层
def f(n):
    if n > 0:
        total = []
        if n % 2 == 0: #偶数
            for i in range(2, n + 1, 2):
                total.append('1/'+str(i))
        else:
            for i in range(1, n + 1, 2):
                total.append('1/'+str(i))
        return '+'.join(total)
    else:
        return None


for i in range(11):
    print(i, f(i))

##  >>>
##    0 None
##    1 1/1
##    2 1/2
##    3 1/1+1/3
##    4 1/2+1/4
##    5 1/1+1/3+1/5
##    6 1/2+1/4+1/6
##    7 1/1+1/3+1/5+1/7
##    8 1/2+1/4+1/6+1/8
##    9 1/1+1/3+1/5+1/7+1/9
##    10 1/2+1/4+1/6+1/8+1/10

评分

参与人数 1荣誉 +4 鱼币 +4 收起 理由
新手·ing + 4 + 4 对不起!希望楼主继续支持~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 16:52:55 | 显示全部楼层
新手上路几节课,请多多指教,希望能得到鱼币
def sum1(n):
    a=0
    if n%2 == 0:
        i=2
        for i in range(2,n+1,2):
            a+=1/i
            i+=2
    else:
        i=1
        for i in range(1,n+1,2):
            a+=1/i
            i+=2
    return a

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 不错~希望坚持~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 17:14:07 | 显示全部楼层

楼主同志,我是自己答的题。
第二次上传是把结果改成了分数连加的形式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-5 17:21:09 | 显示全部楼层
shigure_takimi 发表于 2017-4-5 17:14
楼主同志,我是自己答的题。
第二次上传是把结果改成了分数连加的形式。

我错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-7 12:47:11 From FishC Mobile | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-7 17:45:17 | 显示全部楼层
def py():
    a = int(input('输入数字:'))
    for i in range(2,a+2,2):
        b = 0
        b += 1/i
    print(b)

py()

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-8 10:44:36 | 显示全部楼层
^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-10 19:35:22 | 显示全部楼层
def func(n):
    sumnum = 0
    if n%2:
        for i in range(1,n+1,2):
            sumnum += 1/i
    else:
        for i in range(2,n+1,2):
            sumnum += 1/i
    return sumnum
n = int(input('请输入一个正整数:'))
print('结果是:',func(n))

每次发现冬雪的都好简便
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-10 19:39:20 | 显示全部楼层
lumber2388779 发表于 2017-4-10 19:35
每次发现冬雪的都好简便

他(她)算法太6了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 21:56:24 | 显示全部楼层
n=int(input('输入一个数:'))
print([1/i for i in range(1 if n%2 else 2,n+1,2)])

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 有事某大佬~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 22:00:55 | 显示全部楼层
看了看上面有人说不能分数形式表示,不够精确,那只能来个精确的
n=int(input('输入一个数:'))
print('+'.join(['1/'+str(i) for i in range(1 if n%2 else 2,n+1,2)]))
 RESTART: C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\test.py 
输入一个数:8
1/2+1/4+1/6+1/8
>>> 
 RESTART: C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\test.py 
输入一个数:7
1/1+1/3+1/5+1/7
>>> 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-14 09:42:36 | 显示全部楼层
def tes(n):
    c=0
    while n>0:
        a = 1 / n
        c=a+c
        n-=2
    return c

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-14 09:42:59 | 显示全部楼层
奔跑的小鱼 发表于 2017-4-14 09:42
def tes(n):
    c=0
    while n>0:

新人,第一次写个试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-15 22:18:53 | 显示全部楼层
class Calculate:
        def calculate(self,value):
                self.value = value
                result = 0
                for i in range(1,1+int(self.value)//2):
                        if int(self.value)%2 == 0:
                                result += 1/2*i
                                print('the result is:%f'%result)
                        else:
                                result += 1/(2*i+1)
                                print('the result is:%f'%result)
还能领币不。。

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 能耶

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-20 10:02:47 | 显示全部楼层
def jioushu(n):
    sum = 0
    for i in range(n,0,-2):
        sum+=1/i
    return sum
num=int(input('请输入一个数字:'))
result=jioushu(num)
print(result)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2017-4-20 15:00:04 From FishC Mobile | 显示全部楼层
试试试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-25 18:04:56 | 显示全部楼层
num = input('请输入一个数')
number = int(num)
sum = 0
if number % 2 == 1:
    for i in range(2, n, 2):
        sum += 1/i
else :
   for i in range(1, n, 2):
        sum += 1/i
print(sum)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 06:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表