• Python练习—函数


    1、编写函数f(n),实现输入n的值,求出n的阶乘。然后调用此函数计算1! +2!+3!+……10!的结果,输出到屏幕上。

     1 def f(n):
     2     count = 1;
     3     for i in range(1,n+1):
     4        count =count*i
     5     return count
     6 
     7 def main():
     8     sum = 0   
     9     n = int(input("请输入一个整数n,以求1-n的阶乘之和"))
    10     for i in range(1,n+1):
    11         sum = sum + f(i)
    12     print(sum)
    13 
    14 main()           

    2、定义一个函数is_prime(n),判断输入的n是不是素数,是的话返回True,否则返回False。通过键盘输入两个整数X和Y,调用此函数输出两数范围之内素数的个数(包括X和Y)。

     1 import math
     2 def isprime(n):
     3     m = int(math.sqrt(n)+1)
     4     for i in range(2,m):
     5         if n%i==0:
     6            return False
     7            break
     8     else:
     9            return True
    10 def main():
    11     n,m =eval(input("请输入两个数,来求这两个数之间素数的个数,逗号作为分隔符:"))
    12     count = 0
    13     for i in range (n,m+1):
    14         if isprime(i) == True:
    15             count=count+1
    16     print(count)               
    17 
    18 main()

    3、一个数如果从左往右读和从右往左读数字是相同的,则称这个数是回文数,如121,1221,15651都是回文数。现在请写出一个函数h(n),判断n是否为回文数,是的话返回True,否则返回False。利用上面的判断素数函数,找出所有既是回文数又是素数的3位十进制数。

     1 import math
     2 def isprime(n):
     3     m = int(math.sqrt(n)+1)
     4     for i in range(2,m):
     5         if n%i==0:
     6            return False
     7            break
     8     else:
     9            return True
    10 
    11 def h(n):
    12     a = n//100
    13     b = n%10
    14     if a == b:
    15        return True
    16     else:
    17        return False
    18 
    19 def main():
    20     print("既是素数又是回文数的3位十进制数:")   
    21     for i in range (100,1000):
    22         if isprime(i) == True:
    23                if h(i) == True:
    24                       print(i)               
    25 
    26 main()

    4.输入要过生日的人的名字,唱生日歌给他听

     1 def happy():
     2     print("Happy Birthday to you!")   
     3 def sing(person):
     4        '''person must be string'''#注释
     5        happy()
     6        happy()
     7        print("Happy Birthday, dear",person,"!")
     8        happy()
     9 person = input("请输入人名")
    10 sing(person)

    5.编写函数,接收整数参数t,返回斐波那契数列中大于t的第一个数。

     1 def demo(t):
     2     a, b = 1, 1
     3     while b<t:
     4          a, b = b, a+b
     5     else:
     6          return b
     7 def main():
     8     n=int(input("请输入一个整数"))
     9     print(demo(n))
    10 main()
  • 相关阅读:
    第一阶段冲刺09
    英文单词统计
    第一阶段冲刺08
    暑假生活第二周
    暑假生活第一周
    大道至简读书笔记03
    个人总结15
    大道至简读书笔记02
    计算最长英语单词链
    个人总结14
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/9102489.html
Copyright © 2020-2023  润新知