鱼C论坛

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

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

  [复制链接]
发表于 2020-4-30 14:28:29 | 显示全部楼层
  1. def f15(n,x):
  2.         if n % 2 == 0:
  3.                 for i in range(2,n+1,2):
  4.                         x=x+1/i
  5.                 print(x)
  6.         if n%2!=0:
  7.                 for i in range(2,n+1,1):
  8.                         x=x+1/i
  9.                 print(x)
  10. if __name__=='__main__':
  11.         n=int(input("输入一个数:"))
  12.         f15(n,0)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-3 08:15:24 | 显示全部楼层
def recursive(num):
    if num == 2:
        return 1.0 / 2
    elif num == 1:
        return 1.0
    else:
        return even(num - 2) + 1.0 / num

num = int(input('请输入一个数字:'))
print(recursive(num))

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-4 10:50:06 | 显示全部楼层
from fractions import Fraction
def fsum(n):
    a=0
    b=0
    for i in range(1,int(n/2+1)):
        a=Fraction(1,2*i)
        b+=a
    return b
def esum(n):
    a=0
    b=0
    for i in range(0,int(n/2+1)):
        a=Fraction(1,2*i+1)
        b+=a
    return b
x=int(input("请输入一个整数:"))
if x%2==0:
    print(fsum(x))
else:
    print(esum(x))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-15 08:53:32 | 显示全部楼层
  1. from fractions import Fraction #引入模块
  2. def a_function(n):
  3.     result = 0
  4.     if n % 2 == 0:
  5.         for i in range(2,n+1,2):
  6.             result += Fraction(1,i)
  7.             print(Fraction(1,i),end="")
  8.             if i != n:
  9.                 print("+",end="")
  10.     else:
  11.         for i in range(1,n+1,2):
  12.             result += Fraction(1,i)
  13.             print(Fraction(1,i),end="")
  14.             if i != n:
  15.                 print("+",end="")
  16.     print(' = ',end='')
  17.     return (result)

  18. num = int(input("请输入一个正整数:"))
  19. print(a_function(num))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-26 14:04:03 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-26 16:45:36 | 显示全部楼层
n = int(input('请输入任意整数:'))
sum = 0
if n % 2 ==0:
    for i in range(2,n+1,2):
        sum += 1/i
else:
    for i in range(1, n+1, 2):
        sum  += 1/i
print(sum)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-26 18:34:52 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-26 22:49:03 | 显示全部楼层
  1. def num(n):
  2.     s = 0
  3.     if n % 2 == 0:
  4.         list1 = list(range(2, n + 1, 2))
  5.         list2 = [1 / i for i in list1]
  6.         print('%.2f' % sum(list2))
  7.     else:
  8.         list1 = list(range(1, n + 1, 2))
  9.         list2 = [1 / i for i in list1]
  10.         print('%.2f' % sum(list2))


  11. num(int(input('输入一个数:')))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 16:15:39 | 显示全部楼层
'''
编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n
知识点:整数变为字符串:str();字符串拼接;去掉最后一个字符str[:-1]
'''
result = ""
def isEven(n):
    global result
    if(n % 2 == 0):
        for i in range(2,n+1):
            if i % 2 == 0:
                result += "1"+"/"+str(i)+"+"
    else:
        for i in range(1,n+1):
            if i %2 !=0:
                result += "1"+"/"+str(i)+"+"
    return result

n = int(input("请输入一个数字:"))
s = isEven(n)
s = str(n)+"="+s
print(s[:-1])

请输入一个数字:9
9=1/1+1/3+1/5+1/7+1/9
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-8 22:49:00 | 显示全部楼层
  1. def fun(n):
  2.     if n%2 == 0:
  3.         return fun1(n)
  4.     elif n%2 == 1:
  5.         return fun2(n)

  6. def fun1(m):
  7.     i = 1
  8.     result = 0
  9.     while i <= m//2:
  10.         result += 1/(i*2)
  11.         i += 1
  12.     return result

  13. def fun2(p):
  14.     i = 0
  15.     result = 0
  16.     while i <= (p-1)//2:
  17.         result += 1/(i*2+1)
  18.         i += 1
  19.     return result

  20. num = int(input("请输入一个整数:"))
  21. print(fun(num))
  22.         
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 04:48:01 | 显示全部楼层
def num(n):
    sum = 0
    if n <= 0:
        print("input error")
    elif n%2 == 0:
        for i in range(2,n+2,2):
            s = 1/i
            sum += s
        print(sum)
    else:
        for i in range(1,n+2,2):
            s =1/i
            sum += s
        print(sum)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-27 08:45:31 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-8-9 10:33:30 | 显示全部楼层
def call(n):
    s = 0
    if n % 2 == 0:  # (偶数)
        for i in range(2,n+1,2):
            s = s + 1/i
        print(s)

    elif n % 2 == 1:
        for i in range(1,n+1,2):
            s = s + 1/i
        print(s)

    else:
        print("输入的不是整数,请重新输入:")

while True:
    a = input("您要计算吗?(YES/NO)")
    if a == "YES":
        call(int(input("请输入一个整数:")))
    else:
        print("感谢使用。")
        break
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 11:37:18 From FishC Mobile | 显示全部楼层
def a_sum(n):
    n_sum = 0
    for i in range(1, int(n / 2 + 1)):
        n_sum += 1 / (2 * i)
    return n_sum

def b_sum(n):
    n_sum = 0
    for i in range(1, int(n / 2 + 1)):
        n_sum += 1 / (2 * i - 1)
    return n_sum


if __name__ == '__main__':
    n = int(input("请输入正整数n:"))
    if n % 2 == 0:
        print(a_sum(n))
    else:
        print(b_sum(n))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 14:35:53 | 显示全部楼层
  1. n = 10

  2. print(sum([1 / i for i in range(1 if n % 2 else 2, n + (2 if n % 2 else 1), 2)]))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 17:54:42 | 显示全部楼层
!!!!!!!!!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-15 19:33:30 | 显示全部楼层
def countA(n):
    a=0
    if n%2==0:
        for i in range(2,n+1,2):
            a=a+1/i
    else:
        for i in range(1,n+1,2):
            a=a+1/i
    return a
print(countA(10))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-14 08:19:56 | 显示全部楼层
python学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-14 08:28:41 | 显示全部楼层
看看。。。。。。。。。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-1-23 09:55:44 | 显示全部楼层
def os(n):
    return 1/n
def js(n):
    return 1/n
s=0
l=0
n=int(input("请输入一个数:"))
if n%2==0:
    for i in range(2,n+1,2):
        s+=os(i)
else:
    for i in range(1,n+1,2):
        l+=js(i)
print(s,'\n',l)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-26 20:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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