码迷,mamicode.com
首页 > 编程语言 > 详细

Python函数和代码复用

时间:2021-06-02 17:27:07      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:整数   sum   print   调用   color   lazy   lse   mat   col   

一、编写函数,计算一个正整数n的各位数字之和。

提示:

方法1: 1)def str()函数将该正整数n转换为字符串s;

              2)遍历字符串s,取出数字字符,并使用int()函数将其转换为整数num;

             3)每次遍历时,将整数num累加至变量sum中,推出循环后,将sum作为函数返回值,即为各位数字之和。

方法2:1) def str()函数将该正整数n转换为字符串s;

             2)通过列表生成器[int(c) for c in s],得到正整数n对应的各位数字构成的整数列表ls;

             3)通过Python内置函数sum(),计算列表ls元素之和,即为各位数字之和。

方法3:1)def str()函数将该正整数n转换为字符串s;

             2)使用list(map(int,s)),得到正整数n对应各位数字构成的整数列表ls。其中map()函数为Python内置函数,map(int,s)即将int()函数映射到字符串s中的每一个字符,也就是将每一个字符转换为整数,从而得到一个包含正整数n的各位数字的迭代器;

             3)通过Python内置函数sum(),计算列表ls元素之和,即为各位数字之和。

def str_1(n):
    s = str(n)
    result = 0
    for c in s:
        result = result + int(c)
    return result

def str_2(n):
    s = str(n)
    ls = [int(c) for c in s]
    result = sum(ls)
    return result

def str_3(n):
    s = str(n)
    ls = list(map(int,s))
    result = sum(ls)
    return result
    
num = input("请输入数字:")
print("方法1的结果为:",str_1(num))
print("方法2的结果为:",str_2(num))
print("方法3的结果为:",str_3(num))

二、先定义函数计算技术图片,然后调用该函数计算技术图片

def fun(n,m):
    result = 0
    for i in range(1,n+1):
        result = result + pow(i,m)
    return result

s = fun(100,1) + fun(50,2) + fun(10,-1)
print(s)

三、利用递归函数计算1!+2!+3!+...+20!的和。

def fun(n):
    if (n<=1):
        return 1
    else:
        return n*fun(n-1)

result = 0
for i in range(1,21):
    result = result + fun(i)
print(result)

四、输入正整数n(3n1000 ), 计算有多少对素数的和等于输入的整个正整数,并输出结果。

例如:input 10

      输出对数结果为:2

      两对素数分别为:(5 ,5)  (3,7)

def fun(n):
    flag = False
    if n==2:
        return True
    else:
        for i in range(2,n):
             if n%i==0:
                 flag = True
                 break
        if flag:
             return False
        else:
             return True
           
n = int(input("input "))
count = 0
list = []  
for i in range(2,n):
    if fun(i) and fun(n-i) and i<=n-i:
        list.append(i)
        list.append(n-i)
        count = count + 1
print("输出对数结果为:",count,"")
print(count,"对素数分别为:",end=‘‘)
for i in range(0,count*2,2):
    print("({},{}) ".format(list[i],list[i+1]),end=‘‘)

 

Python函数和代码复用

标签:整数   sum   print   调用   color   lazy   lse   mat   col   

原文地址:https://www.cnblogs.com/zhangjingpeng00/p/14828179.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!