Python123练习第五章

一、任意累积

计算任意个输入数字的乘积。

def f(a, *b):
    for i in b:
        a *= i
    return a
print(eval("f({})".format(input())))

二、斐波那契数列计算

根据编程模板补充代码,计算斐波那契数列的值,具体功能如下:‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‫‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

  1. 获取用户输入整数N,其中,N为正整数‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‫
  2. 计算斐波那契数列的值‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‫

如果将斐波那契数列表示为fbi(N),对于整数N,值如下:‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‫‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

fbi(1)和fbi(2)的值是1,当N>2时,fbi(N) = fbi(N-1) + fbi(N-2)

def fbi(N):
    sum=0
    if N==1 or N==2:
        return 1
    else:
        return fbi(N-1)+fbi(N-2)
n=eval(input())
print(fbi(n))

三、随机密码生成

以整数17为随机数种子,获取用户输入整数N为长度,产生3个长度为N位的密码,密码的每位是一个数字。每个密码单独一行输出。‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‫‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

产生密码采用random.randint()函数。

import random as r
r.seed(17)
n=eval(input())
i=3
while i>0:
    code=r.randint(10**(n-1),10**n-1)
    print(code)
    i-=1

四、连续质数计算

获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‫‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‫

def f(n):
    for i in range(2,n):
        if n % i == 0:
            n +=1
            return f(n)
    else:
        return n

n = eval(input())
N = int(n)
N = N+1 if N < n else N
count = 5

while count > 0:
    if count >1:
        print(f(N),end=",")
        N = f(N) + 1
    else:
        print(f(N),end="")
    count -= 1  

五、有多少爱可以重来,有多少闰年可以存在

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输入a,b,输出[a,b]之间所有的闰年。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

要求:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

(1)用自定义函数实现判断闰年
(2)输出的年份左对齐,占7位宽度。
(3)每行输出5个年份。

def isrun(n):
    if n%4==0 and n%100!=0 or n%400==0:
        return 1
    else:
        return 0
count=0
a,b=eval(input())
for i in range(a,b+1):
    if isrun(i)==1:
        print("{0:<7}".format(i),end='')
        count+=1
        if count%5==0:
            print(end="\n")

六、lambda函数计算三次幂

编制一lambda函数,实现将任意一个整数三次方的计算。输入为一个 整数,输出为该整数的三次幂。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

注意定义函数后要在函数后面编写主程序的代码。

f=lambda x:x**3
n=eval(input())
print(f(n))

综上代码仅供参考,方法不唯一。

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yoghurt&girl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值